commit c1f807efe8cc8ce93aae238e9da55adc41a4c2f2 Author: Al Viro Date: Sat Oct 13 19:40:08 2007 +0100 missing includes in arch/powerpc/platforms/52xx/lite5200.c Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit cc119427bd8663d772c92c1ce43d8ed1831b4d54 Author: Al Viro Date: Sat Oct 13 19:42:42 2007 +0100 fallout from elsa setup split ... and yes, caller wants it to return int. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8d8fe64237646fdd2c2de2722ec4189a5999119d Author: Dave Kleikamp Date: Sat Oct 13 12:58:00 2007 -0500 JFS: Bio cleanup: Replace missing return statements commit e30408b2a99cb7b8bf529c7dc2328a19d71894cf ("JFS: fix bio-related build breakage") removed some "return 0;" statements, rather than changing them to null returns. Signed-off-by: Dave Kleikamp Cc: Jeff Garzik Cc: Randy Dunlap Cc: Jens Axboe Signed-off-by: Linus Torvalds commit ffb035591f2736921d5dadcf8597bc1da1ba71e5 Merge: bcd11ea... ece8a9e... Author: Linus Torvalds Date: Sat Oct 13 10:14:25 2007 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] SMP: Fix use of cpumasks. [MIPS] Revert "[MIPS] tlbex.c: Cleanup __init usage." [MIPS] CFE: Add missing parenthesis. commit bcd11eaa222fce31d0b59cdbfdf9b8c47067f15a Merge: c8c55bc... 99149a4... Author: Linus Torvalds Date: Sat Oct 13 10:13:27 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (27 commits) alim15x3: remove redundant m5229_revision check sc1200: fix ->dma_base equal zero handling cs5520: fix ->dma_base equal zero handling sgiioc4: add missing ->dma_base check cs5535: add missing ->dma_base check ide: remove CONFIG_IDEDMA_IVB config option ide: change master/slave IDENTIFY order ide: move ide_config_drive_speed() calls to upper layers (take 2) pdc202xx_new: check ide_config_drive_speed() return value cs5535: check ide_config_drive_speed() return value amd74xx/via82cxxx: check ide_config_drive_speed() return value au1xxx: fix au1xxx_set_pio_mode() icside: use ide_tune_dma() ide-pmac: fix PIO setup and enable autotune ide-pmac: use ide_tune_dma() (take 2) ide-pmac: remove pmac_ide_do_setfeature() (take 2) ide-pmac: remove nIEN clearing from pmac_ide_do_setfeature() ide-pmac: use __ide_wait_stat() ide-pmac: remove extra good status wait from pmac_ide_do_setfeature() ide: add __ide_wait_stat() helper ... commit c8c55bcb43d790d97790cfa319d80045a71fde39 Merge: 3749c66... ebf8889... Author: Linus Torvalds Date: Sat Oct 13 10:12:15 2007 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (91 commits) [MTD] [NAND] Blackfin on-chip NAND Flash Controller driver [MTD] [NOR] fix ctrl-alt-del can't reboot for intel flash bug [MTD] [NAND] Fix compiler warning in Alauda driver [JFFS2] Remove stray debugging printk [JFFS2] Handle dirents on the flash with embedded zero bytes in names. [JFFS2] Check for creation of dirents with embedded zero bytes in name. [JFFS2] Don't count all 'very dirty' blocks except in debug mode [JFFS2] Check whether garbage-collection actually obsoleted its victim. [JFFS2] Relax threshold for triggering GC due to dirty blocks. [MTD] [OneNAND] Fix typo related with recent commit [JFFS2] Trigger garbage collection when very_dirty_list size becomes excessive [MTD] [NAND] Avoid deadlock in erase callback; release chip lock first. [MTD] [NAND] Resume method for CAFÉ NAND controller [MTD] [NAND] Fix PCI ident table for CAFÉ NAND controller. [MTD] [NAND] s3c2410: fix arch moves [MTD] [OneNAND] fix numerous races [MTD] map driver for NOR flash on the Intel Vermilion Range chipset [JFFS2] Fix unpoint length [MTD] fix CFI point method for discontiguous maps [MTD] MAPS: Merge Lubbock and Mainstone drivers into common PXA2xx driver ... commit 3749c66c67fb5c257771815c186bc32290cacf44 Merge: 835c34a... 8a45450... Author: Linus Torvalds Date: Sat Oct 13 10:02:11 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (106 commits) KVM: Replace enum by #define KVM: Skip pio instruction when it is emulated, not executed KVM: x86 emulator: popf KVM: x86 emulator: fix src, dst value initialization KVM: x86 emulator: jmp abs KVM: x86 emulator: lea KVM: X86 emulator: jump conditional short KVM: x86 emulator: imlpement jump conditional relative KVM: x86 emulator: sort opcodes into ascending order KVM: Improve emulation failure reporting KVM: x86 emulator: pushf KVM: x86 emulator: call near KVM: x86 emulator: push imm8 KVM: VMX: Fix exit qualification width on i386 KVM: Move main vcpu loop into subarch independent code KVM: VMX: Move vm entry failure handling to the exit handler KVM: MMU: Don't do GFP_NOWAIT allocations KVM: Rename kvm_arch_ops to kvm_x86_ops KVM: Simplify memory allocation KVM: Hoist SVM's get_cs_db_l_bits into core code. ... commit 835c34a1687f524c37d4fb8bad18d642c74bed8d Author: Dave Jones Date: Fri Oct 12 21:10:53 2007 -0400 Delete filenames in comments. Since the x86 merge, lots of files that referenced their own filenames are no longer correct. Rather than keep them up to date, just delete them, as they add no real value. Additionally: - fix up comment formatting in scx200_32.c - Remove a credit from myself in setup_64.c from a time when we had no SCM - remove longwinded history from tsc_32.c which can be figured out from git. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds commit 23ec23c2d3496d1cdf74f73d60ab1051405ca774 Author: Al Viro Date: Sat Oct 13 08:40:24 2007 +0100 fix sparc32 breakage (result of vmlinux.lds.S bug) In commit 4665079cbb2a3e17de82f2ab2940b9f97f37d65e ("[NETNS]: Move some code into __init section when CONFIG_NET_NS=n") we got a new section - .exit.text.refok (more of 'let's tell modpost that some bogus calls are not bogus', a-la text.init.refok). Unfortunately, the commit in question forgot to add it to TEXT_TEXT, with rather amusing results. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c5d6471ff9172e4d8f7a5b484b459c56904ae1f0 Author: Al Viro Date: Sat Oct 13 08:30:26 2007 +0100 fallout from DECLARE_MAC_BUF patches Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 13bcd5d0e21e3ca726965371ada8ff6c64af288f Author: Al Viro Date: Sat Oct 13 08:25:24 2007 +0100 v4l: copy_to_user() is not a good method name Breaks on any target that has copy_to_user() defined as a non-trivial macro. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 2b8232ce512105e28453f301d1510de8363bccd1 Author: Al Viro Date: Sat Oct 13 08:16:04 2007 +0100 minimal build fixes for uml (fallout from x86 merge) a) include/asm-um/arch can't just point to include/asm-$(SUBARCH) now b) arch/{i386,x86_64}/crypto are merged now c) subarch-obj needed changes d) cpufeature_64.h should pull "cpufeature_32.h", not since it can be included from asm-um/cpufeature.h e) in case of uml-i386 we need CONFIG_X86_32 for make and gcc, but not for Kconfig f) sysctl.c shouldn't do vdso_enabled for uml-i386 (actually, that one should be registered from corresponding arch/*/kernel/*, with ifdef going away; that's a separate patch, though). With that and with Stephen's patch ("[PATCH net-2.6] uml: hard_header fix") we have uml allmodconfig building both on i386 and amd64. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c4ea43c552ecc9ccc564e11e70d397dbdf09484b Author: Randy Dunlap Date: Fri Oct 12 21:17:49 2007 -0700 net core: fix kernel-doc for new function parameters Fix networking code kernel-doc for newly added parameters. Warning(linux-2.6.23-git2//net/core/sock.c:879): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:570): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:594): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:617): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:641): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:667): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:722): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:959): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:1195): No description found for parameter 'dev' Warning(linux-2.6.23-git2//net/core/dev.c:2105): No description found for parameter 'n' Warning(linux-2.6.23-git2//net/core/dev.c:3272): No description found for parameter 'net' Warning(linux-2.6.23-git2//net/core/dev.c:3445): No description found for parameter 'net' Warning(linux-2.6.23-git2//include/linux/netdevice.h:1301): No description found for parameter 'cpu' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 22e67bb6c1554dc804ee44569f43b2e9c8e591e7 Author: Randy Dunlap Date: Fri Oct 12 21:17:35 2007 -0700 docbook/mcabook: fixup x86 path/file names Fix docbook templates for new x86 path/filenames: docproc: linux-2.6.23-git2/include/asm-i386/mca_dma.h: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit f3cf31ad1f287d7705593fdc3628ee5e45e56592 Author: Randy Dunlap Date: Fri Oct 12 21:17:23 2007 -0700 docbook/kernel-api: fixup x86 path/file names Fix docbook templates for new x86 path/filenames. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 34ca81026eee69224c8707c7877a343dff96db62 Author: Randy Dunlap Date: Fri Oct 12 21:17:12 2007 -0700 docbook/kernel-hacking: fixup x86 path/file names Fix docbook templates for modified x86 path/filenames. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 08d7b5ac29f76ccd21f5f692cb1a34d08c37ab59 Author: Randy Dunlap Date: Fri Oct 12 21:17:00 2007 -0700 docbook/deviceiobook: fixup x86 path/file names Fix docbook templates for new x86 path/filenames: docproc: linux-2.6.23-git2/include/asm-i386/io.h: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit ecaedfa385a6df297e17d6e9f296cc63f12c053f Merge: dcf397f... cb0f3fe... Author: Linus Torvalds Date: Sat Oct 13 09:50:26 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh64-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh64-2.6: sh64: mach-cayman: Build fixes. sh64: Symbol export fixups. sh64: linker script tidying and alignment fixups. sh64: Set KBUILD_IMAGE to make the rpm target happy. sh64: Kill off obsolete linux/blk.h reference. sh64: cleanup struct irqaction initializers. sh64: Kill off dead gdb stub symbol. sh64: alphanumeric display only on Cayman. sh64: Add defconfigs for mach-sim and mach-harp. sh64: update cayman defconfig. sh64: Tidy up Kconfig dependencies. sh64: Move consistent DMA routines to arch/sh64/mm/. sh64: Some symbol exports and build fixes. sh64: mach-sim: Build fixes. sh64: mach-harp: Build fixes. sh64: Kill off duplicate frame pointer option. sh64: Kill off dead ROM-RAM and generic boards. sh64: Tidy up includes for Cayman board. sh64: Move *_p() I/O routine variants to io.h. commit dcf397f037f52add9945eced57ca300ab6a4413c Merge: 6faf035... 68ee0f9... Author: Linus Torvalds Date: Sat Oct 13 09:49:04 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (124 commits) sh: allow building for both r2d boards in same binary. sh: fix r2d board detection sh: Discard .exit.text/.exit.data at runtime. sh: Fix up some section alignments in linker script. sh: Fix SH-4 DMAC CHCR masking. sh: Rip out left-over nommu cond syscall cruft. sh: Make kgdb i-cache flushing less inept. sh: kgdb section mismatches and tidying. sh: cleanup struct irqaction initializers. sh: early_printk tidying. video: pvr2fb: Add TV (RGB) support to Dreamcast PVR driver. sh: Conditionalize gUSA support. sh: Follow gUSA preempt changes in __switch_to(). sh: Tidy up gUSA preempt handling. sh: __copy_user() optimizations for small copies. sh: clkfwk: Support multi-level clock propagation. sh: Fix URAM start address on SH7785. sh: Use boot_cpu_data for CPU probe. sh: Support extended mode TLB on SH-X3. sh: Bump MAX_ACTIVE_REGIONS for SH7785. ... commit 6faf035cf9fdd8283c2b2b2c34b76b5445ec6fc4 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:31 2007 +0200 ssb bus needs ssb bus needs linux/drivers/ssb/main.c: In function 'ssb_ssb_read16': linux/drivers/ssb/main.c:518: error: implicit declaration of function 'readw' linux/drivers/ssb/main.c: In function 'ssb_ssb_read32': linux/drivers/ssb/main.c:526: error: implicit declaration of function 'readl' linux/drivers/ssb/main.c: In function 'ssb_ssb_write16': linux/drivers/ssb/main.c:534: error: implicit declaration of function 'writew' linux/drivers/ssb/main.c: In function 'ssb_ssb_write32': linux/drivers/ssb/main.c:542: error: implicit declaration of function 'writel' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 50e36ebe65ff1b96e35a703fab28314ee4f984f7 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:30 2007 +0200 b43 wireless needs b43 wireless needs linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write': linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb' linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write': linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb' linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store': linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3649ba001b5d037e2cead173b6cff54d32ef154a Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:29 2007 +0200 m68k: fix net drivers after recent get_stats updates m68k: fix net drivers after recent get_stats updates Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 0dddfd46f07db880df7d99e6ebe8baca11591f29 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:28 2007 +0200 dm: emc_endio returns void emc_endio returns void: linux/drivers/md/dm-emc.c: In function 'emc_endio': linux/drivers/md/dm-emc.c:58: warning: 'return' with a value, in function returning void Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit e92042e5c009d84ba741ec4a978a13f260e6ee24 Author: Matthew Wilcox Date: Sat Oct 13 14:31:27 2007 +0200 m68k: Export cachectl.h libffi in GCC 4.2 needs cachectl.h to do its cache flushing. But we don't currently export it. I believe this patch should do the trick. Signed-off-by: Matthew Wilcox Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a55444494db35c55bd7cdefcc4af3e6863ac7a0e Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:26 2007 +0200 m68k: ignore restart_syscall m68k: ignore restart_syscall, which is not needed on m68k. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3d83a2a501f4e525286f179c905ebd440471c137 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:25 2007 +0200 m68k: Atari keyboard ACIA driver cleanup m68k: Atari keyboard ACIA driver cleanup: - removed dead key autorepeat code - removed hardcoded initial keymap Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 6615c5b25e0bffcb3c4463cc68e55a7f7df0b109 Author: Geert Uytterhoeven Date: Sat Oct 13 14:31:24 2007 +0200 m68k: Atari input drivers cleanup m68k: Atari input drivers cleanup: - memleak on failed init/register of input devices fixed - correct keycodes table (Atari keycodes are almost, but not entirely, equal to Linux keycodes). Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 99149a485958ada512eafc34fe36a80cb63fa56c Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:53 2007 +0200 alim15x3: remove redundant m5229_revision check init_dma_ali15x3() guarantees that hwif->dma_base will never be set for m5229_revision < 0x20 so remove redundant m5229_revision >= 0x20 check from init_hwif_common_ali15x3(). While at it remove incorrect comment. Signed-off-by: Bartlomiej Zolnierkiewicz commit 88ae4d8c3829fe3d7be9b1e3ed79a37814752d61 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:53 2007 +0200 sc1200: fix ->dma_base equal zero handling Set hwif->atapi_dma/{ultra,mwdma}_mask and drive->autodma after checking that ->dma_base exists. If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. OTOH hwif->set_{pio,dma}_mode hooks should be set even if hwif->dma_base == 0. Signed-off-by: Bartlomiej Zolnierkiewicz commit dfb2311226539e0496c0a7c65ceebaaff2120a0b Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:52 2007 +0200 cs5520: fix ->dma_base equal zero handling Set hwif->ide_dma_{check,on} and hwif->autodma to 1 after checking that ->dma_base exists. If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Signed-off-by: Bartlomiej Zolnierkiewicz commit b9d9e61abb85ecf4e4aa55328b21eac17840a3fb Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:52 2007 +0200 sgiioc4: add missing ->dma_base check If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7bda292d12795877ade9a7ccc044a7bb0ea8e8b4 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:52 2007 +0200 cs5535: add missing ->dma_base check If ->dma_base is not set (== PCI BAR4 cannot be reserved) then DMA hooks shouldn't be initialized or bad things will happen. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 76bb7782c6831bf450b964eb7596e21bcd23fc32 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:52 2007 +0200 ide: remove CONFIG_IDEDMA_IVB config option Devices which don't set word 93 validation bit should be now handled by ide-iops.c::ivb_list[] and for debugging purposes cable detection can be completely overriden with "idex=ata66" parameter. Signed-off-by: Bartlomiej Zolnierkiewicz commit b140b99c413ce410197cfcd4014e757cd745226a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 ide: change master/slave IDENTIFY order Need to probe slave device first to make it release PDIAG- (this is required for correct device side cable detection). Based on libata commit f31f0cc2f0b7527072d94d02da332d9bb8d7d94c. Thanks to Craig for testing this patch. Cc: Craig Block Signed-off-by: Bartlomiej Zolnierkiewicz commit 88b2b32babd46cd54d2de4d17eb869aea3383e11 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 ide: move ide_config_drive_speed() calls to upper layers (take 2) * Convert {ide_hwif_t,ide_pci_device_t}->host_flag to be u16. * Add IDE_HFLAG_POST_SET_MODE host flag to indicate the need to program the host for the transfer mode after programming the device. Set it in au1xxx-ide, amd74xx, cs5530, cs5535, pdc202xx_new, sc1200, pmac and via82cxxx host drivers. * Add IDE_HFLAG_NO_SET_MODE host flag to indicate the need to completely skip programming of host/device for the transfer mode ("smart" hosts). Set it in it821x host driver and check it in ide_tune_dma(). * Add ide_set_pio_mode()/ide_set_dma_mode() helpers and convert all direct ->set_pio_mode/->speedproc users to use these helpers. * Move ide_config_drive_speed() calls from ->set_pio_mode/->speedproc methods to callers. * Rename ->speedproc method to ->set_dma_mode, make it void and update all implementations accordingly. * Update ide_set_xfer_rate() comments. * Unexport ide_config_drive_speed(). v2: * Fix issues noticed by Sergei: - export ide_set_dma_mode() instead of moving ->set_pio_mode abuse wrt to setting DMA modes from sc1200_set_pio_mode() to do_special() - check IDE_HFLAG_NO_SET_MODE in ide_tune_dma() - check for (hwif->set_pio_mode) == NULL in ide_set_pio_mode() - check for (hwif->set_dma_mode) == NULL in ide_set_dma_mode() - return -1 from ide_set_{pio,dma}_mode() if ->set_{pio,dma}_mode == NULL - don't set ->set_{pio,dma}_mode on it821x in "smart" mode - fix build problem in pmac.c - minor fixes in au1xxx-ide.c/cs5530.c/siimage.c - improve patch description Changes in behavior caused by this patch: - HDIO_SET_PIO_MODE ioctl would now return -ENOSYS for attempts to change PIO mode if it821x controller is in "smart" mode - removal of two debugging printk-s (from cs5530.c and sc1200.c) - transfer modes 0x00-0x07 passed from user space may be programmed twice on the device (not really an issue since 0x00 is not supported correctly by any host driver ATM, 0x01 is not supported at all and 0x02-0x07 are invalid) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6e249395eace037ef139a1c8996b31e3797e412a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 pdc202xx_new: check ide_config_drive_speed() return value Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 249aa4ff1778b318346d8ba4a7fa62c169a29410 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 cs5535: check ide_config_drive_speed() return value Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b4024d4297279ef85631f3c19a6fa4312b4c401 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 amd74xx/via82cxxx: check ide_config_drive_speed() return value * Check ide_config_drive_speed() return value. * While at also call ide_config_drive_speed() if the transfer mode is XFER_PIO_SLOW (this case happens iff the transfer mode has already been set on the device by ide-proc.c::set_xfer_rate()) and remove redundant setting of ->{init,current}_speed. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0f458943e0247906b7a3f534f9e9e7ff3d901296 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:51 2007 +0200 au1xxx: fix au1xxx_set_pio_mode() Set transfer mode on the device before programming the host controller for the new timings (matches what auide_tune_chipset() is doing wrt DMA modes). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 75d7d963e3dcf8a1410000ab246921709e276cd9 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:50 2007 +0200 icside: use ide_tune_dma() * Add "good DMA drives" hack for icside to ide-dma.c::ide_find_dma_mode() (in the long-term it should be either removed or generalized for all hosts). * Use ide_tune_dma() in icside.c::icside_dma_check(). This results in the following changes in behavior: - pre-EIDE SWDMA modes are now also respected - drive->autodma is checked instead of hwif->autodma (doesn't really matter as icside sets both to "1") * Make ide-dma.c::__ide_dma_good_drive() static and drop "__" prefix. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 0b46ff2ea2d817dc7883b80cd4e05ce41cce9158 Author: Benjamin Herrenschmidt Date: Sat Oct 13 17:47:50 2007 +0200 ide-pmac: fix PIO setup and enable autotune Signed-off-by: Bartlomiej Zolnierkiewicz commit 254bb5503611da57240ed6df1cfe6d7f0f185027 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:50 2007 +0200 ide-pmac: use ide_tune_dma() (take 2) * Add missing initialization of hwif->autodma and drive->autodma to pmac_ide_setup_dma(). * Use ide_tune_dma() in pmac_ide_dma_check(). While at it: * Fix pmac_ide_dma_check() return value if DMA mode is not programmed (should be "-1" otherwise ide_set_dma() will try to enable DMA). * Remove unnecessary drive->using_dma fiddling (->dma_off_quietly is always called before ide_set_dma() call and ide_set_dma() calls ->ide_dma_on if ->ide_dma_check returns "0"). v2: * No reason to blacklist all ide_floppy devices and the old code was always enabling DMA anyway (without even programming controller/device if the device was ide_floppy). Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit aedea5910ce44fea79e2c517bb22e0006372156f Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:50 2007 +0200 ide-pmac: remove pmac_ide_do_setfeature() (take 2) Use ide_config_drive_speed() instead of pmac_ide_do_setfeature() and remove the latter, also ide-iops.c::__ide_wait_stat() could be static again. Since for IDE PMAC host driver IDE_CONTROL_REG is always true, device's ->quirk_list is always zero and ->ide_dma_host_{on,off} are nops than the only changes in behavior are: * if PIO mode is set then ->dma_off_queitly is called to disable DMA * if setting transfer mode fails ide_dump_status() is called to dump status v2: * IDE PMAC controllers allow separate PIO and DMA timings and PPC userland depends on this fact, and calls "hdparm -p" without calling "hdparm -d". Therefore to compensate for DMA being disabled by ide_config_drive_speed() for PIO modes: - add IDE_HFLAG_SET_PIO_MODE_KEEP_DMA flag and set it in PMAC host driver - add handling of the new flag to ide-io.c::do_special() Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b2d0093b8eb2b0b4adc86138edee9f6d376cafb Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: remove nIEN clearing from pmac_ide_do_setfeature() Upper layers are responsible for controlling nIEN so don't clear nIEN after command execution in pmac_ide_do_setfeature(). Cc: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ddf151026a293725507fedc39b18ae6edb86d775 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: use __ide_wait_stat() * Use __ide_wait_stat() instead of wait_for_ready() in pmac_ide_do_setfeature(). While at it do following changes to match __ide_wait_stat() call in ide_config_drive_speed(): * Wait WAIT_CMD time (20 sec) instead of 2 sec for device to clear BUSY_STAT. * Check DRQ_STAT bit (shouldn't be set for good device status). Also remove no longer needed wait_for_ready() from ide-iops.c. Acked-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 218ee5f364ed006403f1bbe3c1da5af51b1bdb2a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: remove extra good status wait from pmac_ide_do_setfeature() Don't check for good device status before executing the command in pmac_ide_do_setfeature() (ide_config_drive_speed() doesn't do this). It is a job of upper layers to guarantee that the device is ready to accept new command before we get here. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 74af21cf4d0ab67df53608753a443dc7904ec12e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide: add __ide_wait_stat() helper * Split off checking of the status register from ide_wait_stat() to __ide_wait_stat() helper. * Use the new helper in ide_config_drive_speed(). The only change in the functionality is that the function now fails if after 20 sec (WAIT_CMD) device is still busy (BUSY_STAT bit is set) while previously instead of failing the function continued with checking for the correct device status (which would give the device additional 10 usec to clear BUSY_STAT bit). * Remove stale comment for ide_config_drive_speed(). * Remove duplicate comment for ide_wait_stat() from . Cc: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fd553ce86893e0a54ec0d07d1f1d241f2fb2aef3 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: remove pmac_ide_{m,u}dma_enable() (take 2) * Fix pmac_ide_dma_check() to use pmac_ide_tune_chipset() and remove no longer necessary pmac_ide_{m,u}dma_enable(). * While at it remove some dead code from pmac_ide_dma_check() (leftovers from conversion to use ide_max_dma_mode()). There should be no functionality changes caused by this patch. v2: * Fix compile by replacing "id" with "drive->id" in pmac_ide_dma_check() (Noticed by Ben). Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 78103940e4f8084de2bf8ca81c4bd09b48e9ac16 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:49 2007 +0200 ide-pmac: remove control register messing from pmac_ide_dma_check() pmac_ide_do_setfeature() contains matching nIEN setting/clearing so this Device Control register messing in pmac_ide_dma_check() is totally unnecessary. Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 90f72eca36e92d5756cf312535d94d7f21f34d2e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:48 2007 +0200 ide-pmac: fix set_timings_mdma() * Move adjusting of cycle time for devices providing explicit DMA cycle time from pmac_ide_mdma_enable() to set_timings_mdma(). * Remove no longer needed drive_cycle_time argument. * BUG() if unsupported speed argument value is passed (shouldn't happen). * Matching access/recovery timings always exist so remove redundant check. * Make set_timings_mdma() void. * Update pmac_ide_tune_chipset()'s comment. Acked-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 085798b12ffebd69c13c8ce05fabc8ed5ac43e63 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:48 2007 +0200 ide-pmac: pmac_ide_tune_chipset() fixes * Don't check check for pmif == NULL (it should never be NULL if we got here). * Make a local copy of the timings and set the pmif->timings[] only after setting the transfer mode on the device (otherwise SELECT_DRIVE() call in pmac_ide_do_setfeature() will program new timings before the transfer mode is set on the device - this was pointed out by Sergei). This change makes pmac_ide_tune_chipset() behavior match this of pmac_ide_{m,u}dma_enable(). Acked-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 90a87ea480ce50e7a1553568395c024294db1808 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:48 2007 +0200 ide-pmac: don't check kauai_lookup_timing() return value kauai_lookup_timing() should always return non-zero return value: * BUG() in kauai_lookup_timing() if the timing info cannot be found. * Remove code checking for zero return value from all callers. Acked-by: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 39e5f590b6dea070f17d44e1e6af1188777085d3 Author: Adrian Bunk Date: Sat Oct 13 17:47:48 2007 +0200 ide: unexport ide_acpi_set_state This patch removes the unused EXPORT_SYMBOL_GPL(ide_acpi_set_state) Signed-off-by: Adrian Bunk Cc: Shaohua Li Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit ceec1827e29b9b3d5cac225fee554bd31e565b58 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 13 17:47:47 2007 +0200 ide_platform: set hwif->chipset We need to set hwif->chipset or IDE PCI host drivers may try to claim our ide_hwifs[] slot. Signed-off-by: Bartlomiej Zolnierkiewicz commit ebf8889bd1fe3615991ff4494635d237280652a2 Merge: b160292... 752097c... Author: David Woodhouse Date: Sat Oct 13 14:58:23 2007 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit b160292cc216a50fd0cd386b0bda2cd48352c73b Merge: b37bde1... bbf25010f... Author: David Woodhouse Date: Sat Oct 13 14:43:54 2007 +0100 Merge Linux 2.6.23 commit b37bde147890c8fea8369a5a4e230dabdea4ebfb Author: Bryan Wu Date: Tue Oct 2 13:56:05 2007 -0700 [MTD] [NAND] Blackfin on-chip NAND Flash Controller driver This is the driver for latest Blackfin on-chip nand flash controller - use nand_chip and mtd_info common nand driver interface - provide both PIO and dma operation - compiled with ezkit bf548 configuration - use hardware 1-bit ECC - tested with YAFFS2 and can mount YAFFS2 filesystem as rootfs ChangeLog from try#1 - use hweight32() instead of count_bits() - replace bf54x with bf5xx and BF54X with BF5XX - compare against plat->page_size in 2 cases when enable hardware ECC ChangeLog from try#2 - passed nand_test suites - use cpu_relax() instead of busy wait loop - some coding style issue pointed out by Andrew Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit c4a9f88daf6c382fedde4cdddef0b30f1d0a20db Author: Kevin Hao Date: Tue Oct 2 13:56:04 2007 -0700 [MTD] [NOR] fix ctrl-alt-del can't reboot for intel flash bug When we press ctrl-alt-del,kernel_restart_prepare will invoke cfi_intelext_reboot which will set flash to read array mode, but later when device_shutdown is invoked which may put current work queue to sleep and other process may be scheduled to running and programming flash in not FL_READY mode again. So we can't boot up if this flash is used for bootloader. Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f96880d1e859e3937eb691da8293700b8eec17b3 Author: akpm@linux-foundation.org Date: Thu Oct 11 00:02:06 2007 -0700 [MTD] [NAND] Fix compiler warning in Alauda driver drivers/mtd/nand/alauda.c: In function 'alauda_bounce_read': drivers/mtd/nand/alauda.c:412: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 4fc8a6078660be781d6ddf4daddfd9d817d2a455 Author: David Woodhouse Date: Sat Oct 13 14:29:39 2007 +0100 [JFFS2] Remove stray debugging printk Signed-off-by: David Woodhouse commit b534e70cf5529378a1ed994492641ec0330554eb Author: David Woodhouse Date: Sat Oct 13 11:35:58 2007 +0100 [JFFS2] Handle dirents on the flash with embedded zero bytes in names. In three places: summary scan, normal scan, REF_PRISTINE GC. Just truncate at the NUL, since that was the correct thing to do in the only case where this (inexplicable) breakage has been seen. Signed-off-by: David Woodhouse commit 69ca4378aa376cf2c49657d4f6951da56c27cd3a Author: David Woodhouse Date: Sat Oct 13 11:33:50 2007 +0100 [JFFS2] Check for creation of dirents with embedded zero bytes in name. I have no idea how this happened, but OLPC trac #4184 suggests that it did. Catch it early. Signed-off-by: David Woodhouse commit a8c68f32644fc8942b25af9239967dd01be621fa Author: David Woodhouse Date: Sat Oct 13 11:32:16 2007 +0100 [JFFS2] Don't count all 'very dirty' blocks except in debug mode ... where we'll actually print the count in a debug message. Signed-off-by: David Woodhouse commit 2665ea842dc9f4c04bdb57f8b7c2023759ac8c85 Author: David Woodhouse Date: Sat Oct 13 11:31:23 2007 +0100 [JFFS2] Check whether garbage-collection actually obsoleted its victim. In OLPC trac #4184 we found a case where a corrupted node didn't actually get obsoleted when we tried to garbage-collect it. So we wrote out many million copies of it, in repeated attempts to obsolete it, until the flash became full. Don't Do That. Signed-off-by: David Woodhouse commit 85becc535b7f33be5aefdb8ecea9fac4998e4b6f Author: David Woodhouse Date: Sat Oct 13 11:29:07 2007 +0100 [JFFS2] Relax threshold for triggering GC due to dirty blocks. Instead of matching resv_blocks_gcmerge, which is only about 3, instead match resv_blocks_gctrigger, which includes a proportion of the total device size. These ought to become tunable from userspace, at some point. Signed-off-by: David Woodhouse commit 1437085c3780f064a06df662195a2695e7d75c09 Author: Kyungmin Park Date: Wed Oct 10 13:48:14 2007 +0900 [MTD] [OneNAND] Fix typo related with recent commit Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 8a45450d0a559912873428077908f9bc1411042c Author: Avi Kivity Date: Wed Oct 10 14:03:16 2007 +0200 KVM: Replace enum by #define Easier for existence test (#ifdef) in userspace. Signed-off-by: Avi Kivity commit 0967b7bf1c22b55777aba46ff616547feed0b141 Author: Avi Kivity Date: Sat Sep 15 17:34:36 2007 +0300 KVM: Skip pio instruction when it is emulated, not executed If we defer updating rip until pio instructions are executed, we have a problem with reset: a pio reset updates rip, and when the instruction completes we skip the emulated instruction, pointing rip somewhere completely unrelated. Fix by updating rip when we see decode the instruction, not after emulation. Signed-off-by: Avi Kivity commit 535eabcf0e55804b53d27fe45217d874b19bcfa9 Author: Nitin A Kamble Date: Sat Sep 15 10:45:05 2007 +0300 KVM: x86 emulator: popf Implement emulation of instruction: popf opcode: 0x9d Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 12fa272e315af43d549ce22f9988392d0121350e Author: Nitin A Kamble Date: Sat Sep 15 10:43:33 2007 +0300 KVM: x86 emulator: fix src, dst value initialization Some operand fetches are less than the machine word size and can result in stale bits if used together with operands of different sizes. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 26a3e983d154beca544afd36f293cfef10657f24 Author: Nitin A Kamble Date: Sat Sep 15 10:41:26 2007 +0300 KVM: x86 emulator: jmp abs Implement emulation of instruction: jump absolute r/m opcode: 0xff /4 Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7e0b54b149315743f5743dbc0cf758012682024e Author: Nitin A Kamble Date: Sat Sep 15 10:35:36 2007 +0300 KVM: x86 emulator: lea Implement emulation of instruction lea r16/r32, m opcode: 0x8d: Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 55bebde45ec252295b08cb3990f15df2228dbf0e Author: Nitin A Kamble Date: Sat Sep 15 10:25:41 2007 +0300 KVM: X86 emulator: jump conditional short Implement emulation of more jump conditional instructions jcc shortrel opcodes: 0x70 - 0x7f Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit bbe9abbdaca366510db1f2df25f4c7b48cba38eb Author: Nitin A Kamble Date: Sat Sep 15 10:23:07 2007 +0300 KVM: x86 emulator: imlpement jump conditional relative Implement emulation of instruction: jump conditional rel opcodes: 0x0f 0x80 - 0x0f 0x8f Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7de752482c71e1ef72ac9650deaeb6d293b8416d Author: Nitin A Kamble Date: Sat Sep 15 10:13:07 2007 +0300 KVM: x86 emulator: sort opcodes into ascending order Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 054b1369679fb97582fc77f25a700d4290ff3e89 Author: Avi Kivity Date: Wed Sep 12 13:21:09 2007 +0300 KVM: Improve emulation failure reporting Report failed opcodes from all locations. Signed-off-by: Avi Kivity commit fd2a76086527cbe074b08a8820253228cd919ece Author: Nitin A Kamble Date: Tue Aug 28 18:22:47 2007 -0700 KVM: x86 emulator: pushf Implement emulation of instruction pushf opcode: 0x9c Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit f6eed39135c03d39ff4095b1ddd947672469dfee Author: Nitin A Kamble Date: Tue Aug 28 18:08:37 2007 -0700 KVM: x86 emulator: call near Implement emulation of instruction opcode: 0xe8 call (near) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 7d316911632acb8ba8cb7c1dd318ba723c9f1d50 Author: Nitin A Kamble Date: Tue Aug 28 17:58:52 2007 -0700 KVM: x86 emulator: push imm8 Implement the instruction push imm8 opcode: 0x6a Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit bfdaab090386e7dda8c442721eeb91179258dad4 Author: He, Qing Date: Wed Sep 12 14:18:28 2007 +0800 KVM: VMX: Fix exit qualification width on i386 According to Intel Software Developer's Manual, Vol. 3B, Appendix H.4.2, exit qualification should be of natural width. However, current code uses u64 as the data type for this register, which occasionally introduces invalid value to VMExit handling logics. This patch fixes this bug. I have tested Windows and Linux guest on i386 host, and they can boot successfully with this patch. Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 04d2cc7780d48a212843e38d46402d97fa1f4774 Author: Avi Kivity Date: Mon Sep 10 18:10:54 2007 +0300 KVM: Move main vcpu loop into subarch independent code This simplifies adding new code as well as reducing overall code size. Signed-off-by: Avi Kivity commit 29bd8a78082f2d7e2165a735f50b5c716ef3213b Author: Avi Kivity Date: Mon Sep 10 17:27:03 2007 +0300 KVM: VMX: Move vm entry failure handling to the exit handler This will help moving the main loop to subarch independent code. Signed-off-by: Avi Kivity commit 2e3e5882dca3ab409aa8c9c96f47610b576719f8 Author: Avi Kivity Date: Mon Sep 10 11:28:17 2007 +0300 KVM: MMU: Don't do GFP_NOWAIT allocations Before preempt notifiers, kvm needed to allocate memory with GFP_NOWAIT so as not to have to enable preemption and take a heavyweight exit. On oom, we'd fall back to a GFP_KERNEL allocation. With preemption notifiers, we can do a GFP_KERNEL allocation, and perform the heavyweight exit only if the kernel decides to put us to sleep. Signed-off-by: Avi Kivity commit cbdd1bea2a2dce4c0b45c5f0122c150d9f07f0bc Author: Christian Ehrhardt Date: Sun Sep 9 15:41:59 2007 +0300 KVM: Rename kvm_arch_ops to kvm_x86_ops This patch just renames the current (misnamed) _arch namings to _x86 to ensure better readability when a real arch layer takes place. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 0d8d2bd4f20c8a2a254b4fe3bc114f12214a6d73 Author: Laurent Vivier Date: Thu Aug 30 14:56:21 2007 +0200 KVM: Simplify memory allocation The mutex->splinlock convertion alllows us to make some code simplifications. As we can keep the lock longer, we don't have to release it and then have to check if the environment has not been modified before re-taking it. We can remove kvm->busy and kvm->memory_config_version. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 1747fb71fd7c9389696e91f354d2f841b5c85790 Author: Rusty Russell Date: Thu Sep 6 01:21:32 2007 +1000 KVM: Hoist SVM's get_cs_db_l_bits into core code. SVM gets the DB and L bits for the cs by decoding the segment. This is in fact the completely generic code, so hoist it for kvm-lite to use. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 81f50e3bfdf864103ef890ca156e7a9c922c7089 Author: Rusty Russell Date: Thu Sep 6 01:20:38 2007 +1000 KVM: Keep control regs in sync We don't update the vcpu control registers in various places. We should do so. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit b85b9ee9259917f248ee1507d7d1f575f4fc27dd Author: Rusty Russell Date: Sun Sep 9 14:12:54 2007 +0300 KVM: Clean up unloved invlpg emulation invlpg shouldn't fetch the "src" address, since it may not be valid, however SVM's "solution" which neuters emulation of all group 7 instruction is horrible and breaks kvm-lite. The simplest fix is to put a special check in for invlpg. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit c9a1185c945c8db3185ad40092963cbb39192e31 Author: Rusty Russell Date: Sun Sep 9 14:10:57 2007 +0300 KVM: Remove the unused invlpg member of struct kvm_arch_ops. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 380102c8e431ba8b25a5b3a29e4529ca02ede4c8 Author: Amit Shah Date: Sat Aug 25 11:35:52 2007 +0300 KVM: Set the ET flag in CR0 after initializing FX This was missed when moving stuff around in fbc4f2e Fixes Solaris guests and bug #1773613 Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit c5ec153402b6d276fe20029da1059ba42a4b55e5 Author: He, Qing Date: Mon Sep 3 17:07:41 2007 +0300 KVM: enable in-kernel APIC INIT/SIPI handling This patch enables INIT/SIPI handling using in-kernel APIC by introducing a ->mp_state field to emulate the SMP state transition. [avi: remove smp_processor_id() warning] Signed-off-by: Qing He Signed-off-by: Xin Li Signed-off-by: Avi Kivity commit 932f72adbe76f098922c746737cb0bd75fc21e27 Author: He, Qing Date: Mon Sep 3 17:01:36 2007 +0300 KVM: round robin for APIC lowest priority delivery mode Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 40487c680d5855459dfdce340df13d40071bb774 Author: Qing He Date: Mon Sep 17 14:47:13 2007 +0800 KVM: deliver PIC interrupt only to vcpu0 This patch changes the PIC interrupts delivery. Now it is only delivered to vcpu0 when either condition is met (on vcpu0): 1. local APIC is hardware disabled 2. LVT0 is unmasked and configured to delivery mode ExtInt It fixes the 2x faster wall clock on x86_64 and SMP i386 Linux guests Signed-off-by: Eddie (Yaozu) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 5cd4f6fd8506f59cb8a232f364c54f6bd8e5150a Author: He, Qing Date: Thu Aug 30 17:04:26 2007 +0800 KVM: disable tpr/cr8 sync when in-kernel APIC is used Signed-off-by: Qing He Signed-off-by: Avi Kivity commit a3d7f85f471f889e4477863a7ca42828ae74e77d Author: Eddie Dong Date: Mon Sep 3 16:15:12 2007 +0300 KVM: Migrate lapic hrtimer when vcpu moves to another cpu This reduces overhead by accessing cachelines from the wrong node, as well as simplifying locking. [Qing: fix for inactive or expired one-shot timer] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 1b9778dae71dc64d3678d766c0f1fbed79c80f9f Author: Eddie Dong Date: Mon Sep 3 16:56:58 2007 +0300 KVM: Keep track of missed timer irq injections APIC timer IRQ is set every time when a certain period expires at host time, but the guest may be descheduled at that time and thus the irq be overwritten by later fire. This patch keep track of firing irq numbers and decrease only when the IRQ is injected to guest or buffered in APIC. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 6e5d865c0b9679b00b5e5f0754c9fc2b6b9894d6 Author: Yang, Sheng Date: Wed Sep 12 18:03:11 2007 +0800 KVM: VMX: Use shadow TPR/cr8 for 64-bits guests This patch enables TPR shadow of VMX on CR8 access. 64bit Windows using CR8 access TPR frequently. The TPR shadow can improve the performance of access TPR by not causing vmexit. Signed-off-by: Sheng Yang Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 2a8067f17b8442ecce0b14e134823020ff33b4fa Author: Eddie Dong Date: Mon Aug 6 16:29:07 2007 +0300 KVM: pending irq save/restore Add in kernel irqchip save/restore support for pending vectors. [avi: fix compile warning on i386] [avi: remove printk] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 96ad2cc6132479aa0aea485d0838a13fda765bd5 Author: Eddie Dong Date: Thu Sep 6 12:22:56 2007 +0300 KVM: in-kernel LAPIC save and restore support This patch adds a new vcpu-based IOCTL to save and restore the local apic registers for a single vcpu. The kernel only copies the apic page as a whole, extraction of registers is left to userspace side. On restore, the APIC timer is restarted from the initial count, this introduces a little delay, but works fine. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 6bf9e962d14deb9e460afbbfd83ea2f450325c2d Author: He, Qing Date: Sun Aug 5 10:49:16 2007 +0300 KVM: in-kernel IOAPIC save and restore support This patch adds support for in-kernel ioapic save and restore (to and from userspace). It uses the same get/set_irqchip ioctl as in-kernel PIC. Signed-off-by: Qing He Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit c52fb35a8b5dada749d35fbe15ac1f9857b22896 Author: He, Qing Date: Thu Aug 2 14:03:07 2007 +0300 KVM: Bypass irq_pending get/set when using in kernel irqchip vcpu->irq_pending is saved in get/set_sreg IOCTL, but when in-kernel local APIC is used, doing this may occasionally overwrite vcpu->apic to an invalid value, as in the vm restore path. Signed-off-by: Qing He commit 6ceb9d791eeeb0a5493958f5d6d4dc7d91e59cf7 Author: He, Qing Date: Thu Jul 26 11:05:18 2007 +0300 KVM: Add get/set irqchip ioctls for in-kernel PIC live migration support This patch adds two new ioctls to dump and write kernel irqchips for save/restore and live migration. PIC s/r and l/m is implemented in this patch. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 9cf98828d12285d1fb43e774c8c100a55f8f34e1 Author: Eddie Dong Date: Sun Jul 22 10:36:31 2007 +0300 KVM: Protect in-kernel pio using kvm->lock pio operation and IRQ_LINE kvm_vm_ioctl is not kvm->lock protected. Add lock to same with IOAPIC MMIO operations. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit b6958ce44a11a9e9425d2b67a653b1ca2a27796f Author: Eddie Dong Date: Wed Jul 18 12:15:21 2007 +0300 KVM: Emulate hlt in the kernel By sleeping in the kernel when hlt is executed, we simplify the in-kernel guest interrupt path considerably. Signed-off-by: Gregory Haskins Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 1fd4f2a5ed8f80cf6e23d2bdf78554f6a1ac7997 Author: Eddie Dong Date: Wed Jul 18 12:03:39 2007 +0300 KVM: In-kernel I/O APIC model This allows in-kernel host-side device drivers to raise guest interrupts without going to userspace. [avi: fix level-triggered interrupt redelivery on eoi] [avi: add missing #include] [avi: avoid redelivery of edge-triggered interrupt] [avi: implement polarity] [avi: don't deliver edge-triggered interrupts when unmasking] [avi: fix host oops on invalid guest access] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 97222cc8316328965851ed28d23f6b64b4c912d2 Author: Eddie Dong Date: Wed Sep 12 10:58:04 2007 +0300 KVM: Emulate local APIC in kernel Because lightweight exits (exits which don't involve userspace) are many times faster than heavyweight exits, it makes sense to emulate high usage devices in the kernel. The local APIC is one such device, especially for Windows and for SMP, so we add an APIC model to kvm. It also allows in-kernel host-side drivers to inject interrupts without going through userspace. [compile fix on i386 from Jindrich Makovicka] Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 7017fc3d1a12e30ea7df4992152978a188433457 Author: Eddie Dong Date: Wed Jul 18 11:34:57 2007 +0300 KVM: Define and use cr8 access functions This patch is to wrap APIC base register and CR8 operation which can provide a unique API for user level irqchip and kernel irqchip. This is a preparation of merging lapic/ioapic patch. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 85f455f7ddbed403b34b4d54b1eaf0e14126a126 Author: Eddie Dong Date: Fri Jul 6 12:20:49 2007 +0300 KVM: Add support for in-kernel PIC emulation Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 152d3f2f246ce3c2a0cf2fc6c2214663cd99aa83 Author: Laurent Vivier Date: Thu Aug 23 16:33:11 2007 +0200 KVM: VMX: Split segments reload in vmx_load_host_state() vmx_load_host_state() bundles fs, gs, ldt, and tss reloading into one in the hope that it is infrequent. With smp guests, fs reloading is frequent due to fs being used by threads. Unbundle the reloads so reduce expensive gs reloads. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit d39dba54ce71ab3234c387219b175dc36d37f85a Author: Avi Kivity Date: Wed Aug 22 18:09:29 2007 +0300 KVM: X86 emulator: fix 'push reg' writeback Pointed out by Rusty Russell. Signed-off-by: Avi Kivity commit 2e2c618dad6d5768da4a891ff71fc1ca0cbd3fe0 Author: Izik Eidus Date: Mon Aug 20 18:11:00 2007 +0300 KVM: Support more memory slots Needed for mapping memory at 4GB. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 33f5fa1664046208b890e9231a47e377fdfc7762 Author: Izik Eidus Date: Sun Aug 19 22:24:58 2007 +0300 KVM: VMX: allow rmode_tss_base() to work with >2G of guest memory Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 7e778161fb4612d2ceac9604f10e1061f5f4cf48 Author: Nitin A Kamble Date: Sun Aug 19 11:07:06 2007 +0300 KVM: x86 emulator: implement 'push reg' (opcodes 0x50-0x57) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit c53ce170a9e8531f293e402c7d8c65e38452a551 Author: Nitin A Kamble Date: Sun Aug 19 11:03:13 2007 +0300 KVM: x86 emulator: Implement 'jmp rel short' instruction (opcode 0xeb) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 098c937ba30acc5b7dcb6a4ad7cc8d63c7117546 Author: Nitin A Kamble Date: Sun Aug 19 11:00:36 2007 +0300 KVM: x86 emulator: implement 'jmp rel' instruction (opcode 0xe9) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 19eb938e0115693414a83b6bde2b67896bd9953a Author: Nitin A Kamble Date: Fri Aug 17 15:17:41 2007 +0300 KVM: x86 emulator: implement 'and $imm, %{al|ax|eax}' Implement emulation of instruction and al imm8 (opcode 0x24) and ax/eax imm16/imm32 (opcode 0x25) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 253abdee5ec2edd0a7f6dc2358bef42e3fdf1f39 Author: Yang, Sheng Date: Thu Aug 16 13:01:00 2007 +0300 KVM: Communicate cr8 changes to userspace This allows running 64-bit Windows. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 7e66f350cfc853043bfa71b281581dd6f92fa347 Author: Avi Kivity Date: Wed Aug 15 15:23:34 2007 +0300 KVM: Close minor race in signal handling We need to check for signals inside the critical section, otherwise a signal can be sent which we will not notice. Also move the check before entry, so that if the signal happens before the first entry, we exit immediately instead of waiting for something to happen to the guest. Signed-off-by: Avi Kivity commit 3090dd7377c7eb5cbe229e2a538f9dc7e5b06814 Author: Laurent Vivier Date: Sun Aug 5 10:43:32 2007 +0300 KVM: Clean up kvm_setup_pio() Split kvm_setup_pio() into two functions, one to setup in/out pio (kvm_emulate_pio()) and one to setup ins/outs pio (kvm_emulate_pio_string()). Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit e70669abd4e60dfea3ac1639848e20e2b8dd1255 Author: Laurent Vivier Date: Sun Aug 5 10:36:40 2007 +0300 KVM: Cleanup string I/O instruction emulation Both vmx and svm decode the I/O instructions, and both botch the job, requiring the instruction prefixes to be fetched in order to completely decode the instruction. So, if we see a string I/O instruction, use the x86 emulator to decode it, as it already has all the prefix decoding machinery. This patch defines ins/outs opcodes in x86_emulate.c and calls emulate_instruction() from io_interception() (svm.c) and from handle_io() (vmx.c). It removes all vmx/svm prefix instruction decoders (get_addr_size(), io_get_override(), io_address(), get_io_count()) Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 9fdaaac38e8c8a63c6383b807b91fea2d51da95d Author: Laurent Vivier Date: Wed Aug 1 21:51:09 2007 +0300 KVM: Remove useless assignment Line 1809 of kvm_main.c is useless, value is overwritten in line 1815: 1809 now = min(count, PAGE_SIZE / size); 1810 1811 if (!down) 1812 in_page = PAGE_SIZE - offset_in_page(address); 1813 else 1814 in_page = offset_in_page(address) + size; 1815 now = min(count, (unsigned long)in_page / size); 1816 if (!now) { Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 1e4e6e00136b82a5595de903c28912afee1178cb Author: Li, Xin B Date: Wed Aug 1 21:49:10 2007 +0300 KVM: VMX: Remove a duplicated ia32e mode vm entry control Remove a duplicated ia32e mode VM Entry control definition and use the proper one. Signed-off-by: Xin Li Signed-off-by: Avi Kivity commit a477034750ce59df7fc17823f085df5a30e316f0 Author: Rusty Russell Date: Wed Aug 1 14:46:11 2007 +1000 KVM: Use kmem_cache_free for kmem_cache_zalloc'ed objects We use kfree in svm.c and vmx.c, and this works, but it could break at any time. kfree() is supposed to match up with kmalloc(). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit f02424785ab83bab8283ad33044284f749c08db8 Author: Rusty Russell Date: Wed Aug 1 10:48:02 2007 +1000 KVM: Add and use pr_unimpl for standard formatting of unimplemented features All guest-invokable printks should be ratelimited to prevent malicious guests from flooding logs. This is a start. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 33830b4f5bdf2bc21d0c10d38beffdce8edcded7 Author: Rusty Russell Date: Wed Aug 1 10:17:06 2007 +1000 KVM: Remove unneeded kvm_dev_open and kvm_dev_release functions. Devices don't need open or release functions. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3dea7ca7160f80dd6d31c0bbeb2d871e51b567b6 Author: Rusty Russell Date: Wed Aug 1 10:12:22 2007 +1000 KVM: Remove stat_set from debugfs We shouldn't define stat_set on the debug attributes, since that will cause silent failure on writing: without a set argument, userspace will get -EACCESS. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 54e11fa1f87771df0fc1bb42a75be0740c3babb9 Author: Gabriel C Date: Wed Aug 1 16:23:10 2007 +0200 KVM: Fix defined but not used warning in drivers/kvm/vmx.c move_msr_up() is used only on X86_64 and generates a warning on !X86_64 Signed-off-by: Gabriel Craciunescu Signed-off-by: Avi Kivity commit 37c00051b53861929a910309c1823b415d55cfdf Author: Rusty Russell Date: Tue Jul 31 20:46:12 2007 +1000 KVM: Remove redundant alloc_vmcs_cpu declaration alloc_vmcs_cpu is already declared (static) above, no need to redeclare. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit bfc733a7a32612fe213a7492c385f2b03f592d7f Author: Rusty Russell Date: Tue Jul 31 20:42:42 2007 +1000 KVM: SVM: Make set_msr_interception more reliable set_msr_interception() is used by svm to set up which MSRs should be intercepted. It can only fail if someone has changed the code to try to intercept an MSR without updating the array of ranges. The return value is ignored anyway: it should just BUG() if it doesn't work. (A build-time failure would be better, but that's tricky). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 7e9d619d2aa28b71d547edfa15c66d6ab9a3a39c Author: Rusty Russell Date: Tue Jul 31 20:41:14 2007 +1000 KVM: Cleanup mark_page_dirty For some reason, mark_page_dirty open-codes __gfn_to_memslot(). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit fb764416492a1204c20fdf4507019012d27bd1a2 Author: Rusty Russell Date: Tue Jul 31 20:45:03 2007 +1000 KVM: Don't assign vcpu->cr3 if it's invalid: check first, set last sSigned-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 002c7f7c32a6123f0894d7d579ffae8e98911830 Author: Yang, Sheng Date: Tue Jul 31 14:23:01 2007 +0300 KVM: VMX: Add cpu consistency check All the physical CPUs on the board should support the same VMX feature set. Add check_processor_compatibility to kvm_arch_ops for the consistency check. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 39214915f50f6ac2350355f2db63910d968fa790 Author: Rusty Russell Date: Tue Jul 31 19:57:47 2007 +1000 KVM: kvm_vm_ioctl_get_dirty_log restore "nothing dirty" optimization kvm_vm_ioctl_get_dirty_log scans bitmap to see it it's all zero, but doesn't use that information. Avi says: Looks like it was used to guard kvm_mmu_slot_remove_write_access(); optimizing the case where the guest just leaves the screen alone (which it usually does, especially in benchmarks). I'd rather reinstate that optimization. See 90cb0529dd230548a7f0d6b315997be854caea1b where the damage was done. It's pretty simple: if the bitmap is all zero, we don't need to do anything to clean it. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit b114b0804df7131cb6764b948c1c530c834fa3c0 Author: Rusty Russell Date: Mon Jul 30 21:13:43 2007 +1000 KVM: Use alignment properties of vcpu to simplify FPU ops Now we use a kmem cache for allocating vcpus, we can get the 16-byte alignment required by fxsave & fxrstor instructions, and avoid manually aligning the buffer. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit c16f862d0257349607b7a9be7b4a4b7ed419a3ab Author: Rusty Russell Date: Mon Jul 30 21:12:19 2007 +1000 KVM: Use kmem cache for allocating vcpus Avi wants the allocations of vcpus centralized again. The easiest way is to add a "size" arg to kvm_init_arch, and expose the thus-prepared cache to the modules. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit e7d5d76cae970117affe07f809faf0f18bbac675 Author: Laurent Vivier Date: Mon Jul 30 13:41:19 2007 +0300 KVM: Remove kvm_{read,write}_guest() ... in favor of the more general emulator_{read,write}_*. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit cebff02b11b02a81d21b6cc8390938dc9bdf0a12 Author: Laurent Vivier Date: Mon Jul 30 13:35:24 2007 +0300 KVM: Change the emulator_{read,write,cmpxchg}_* functions to take a vcpu ... instead of a x86_emulate_ctxt, so that other callers can use it easily. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 0e5017d4ae981b0311a3ec1ca04806a4ae7d7446 Author: Rusty Russell Date: Mon Jul 30 20:08:05 2007 +1000 KVM: SVM: internal function name cleanup Changes some svm.c internal function names: 1) io_adress -> io_address (de-germanify the spelling) 2) kvm_reput_irq -> reput_irq (it's not a generic kvm function) 3) kvm_do_inject_irq -> (it's not a generic kvm function) Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit e756fc626d7d8a220864dd6bc6634d9d933650b0 Author: Rusty Russell Date: Mon Jul 30 20:07:08 2007 +1000 KVM: SVM: de-containization container_of is wonderful, but not casting at all is better. This patch changes svm.c's internal functions to pass "struct vcpu_svm" instead of "struct kvm_vcpu" and using container_of. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3077c4513c46f66537c1205acc464e49c9847dc0 Author: Rusty Russell Date: Mon Jul 30 16:41:57 2007 +1000 KVM: Remove three magic numbers There are several places where hardcoded numbers are used in place of the easily-available constant, which is poor form. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 8b9cf98cc7ea7354d6d4cbc4ffdb18a26a1129d3 Author: Rusty Russell Date: Mon Jul 30 16:31:43 2007 +1000 KVM: VMX: pass vcpu_vmx internally container_of is wonderful, but not casting at all is better. This patch changes vmx.c's internal functions to pass "struct vcpu_vmx" instead of "struct kvm_vcpu" and using container_of. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 9bd01506ee551689b90ba5822c28ef55207146af Author: Rusty Russell Date: Mon Jul 30 16:29:56 2007 +1000 KVM: fx_init() needs preemption disabled while it plays with the FPU state Now that kvm generally runs with preemption enabled, we need to protect the fpu intialization sequence. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 11ec2804711896546ee3c945f3786c7f9fdd175a Author: Shaohua Li Date: Mon Jul 23 14:51:37 2007 +0800 KVM: Convert vm lock to a mutex This allows the kvm mmu to perform sleepy operations, such as memory allocation. Signed-off-by: Shaohua Li Signed-off-by: Avi Kivity commit 15ad71460d75fd7ca41bb248a2310f3f39b302ba Author: Avi Kivity Date: Wed Jul 11 18:17:21 2007 +0300 KVM: Use the scheduler preemption notifiers to make kvm preemptible Current kvm disables preemption while the new virtualization registers are in use. This of course is not very good for latency sensitive workloads (one use of virtualization is to offload user interface and other latency insensitive stuff to a container, so that it is easier to analyze the remaining workload). This patch re-enables preemption for kvm; preemption is now only disabled when switching the registers in and out, and during the switch to guest mode and back. Contains fixes from Shaohua Li . Signed-off-by: Avi Kivity commit 519ef35341b4f360f072ea74e398b70a5a2fc270 Author: Jeff Dike Date: Mon Jul 16 15:24:47 2007 -0400 KVM: add hypercall nr to kvm_run Add the hypercall number to kvm_run and initialize it. This changes the ABI, but as this particular ABI was unusable before this no users are affected. Signed-off-by: Jeff Dike Signed-off-by: Avi Kivity commit 1c3d14fe0ab75337a3f6c06b6bc18bcbc2b3d0bc Author: Yang, Sheng Date: Sun Jul 29 11:07:42 2007 +0300 KVM: VMX: Improve the method of writing vmcs control Put cpu feature detecting part in hardware_setup, and stored the vmcs condition in global variable for further check. [glommer: fix for some i386-only machines not supporting CR8 load/store exiting] Signed-off-by: Sheng Yang Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Avi Kivity commit fb3f0f51d92d1496f9628ca6f0fb06a48dc9ed2a Author: Rusty Russell Date: Fri Jul 27 17:16:56 2007 +1000 KVM: Dynamically allocate vcpus This patch converts the vcpus array in "struct kvm" to a pointer array, and changes the "vcpu_create" and "vcpu_setup" hooks into one "vcpu_create" call which does the allocation and initialization of the vcpu (calling back into the kvm_vcpu_init core helper). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit a2fa3e9f52d875f7d4ca98434603b8756be71ba8 Author: Gregory Haskins Date: Fri Jul 27 08:13:10 2007 -0400 KVM: Remove arch specific components from the general code struct kvm_vcpu has vmx-specific members; remove them to a private structure. Signed-off-by: Gregory Haskins Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit c820c2aa27bb5b6069aa708b0a0b44b59a16bfa7 Author: Rusty Russell Date: Wed Jul 25 13:29:51 2007 +1000 KVM: load_pdptrs() cleanups load_pdptrs can be handed an invalid cr3, and it should not oops. This can happen because we injected #gp in set_cr3() after we set vcpu->cr3 to the invalid value, or from kvm_vcpu_ioctl_set_sregs(), or memory configuration changes after the guest did set_cr3(). We should also copy the pdpte array once, before checking and assigning, otherwise an SMP guest can potentially alter the values between the check and the set. Finally one nitpick: ret = 1 should be done as late as possible: this allows GCC to check for unset "ret" should the function change in future. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 3ccb8827fb3bd389ed15320da83543d016a94822 Author: Aurelien Jarno Date: Wed Jul 25 11:41:57 2007 +0200 KVM: Remove dead code in the cmpxchg instruction emulation The writeback fixes (02c03a326a5df825cc01de426f72e160db2b9538) let some dead code in the cmpxchg instruction emulation. Remove it. Signed-off-by: Aurelien Jarno Signed-off-by: Avi Kivity commit 62b3ffb8b357a791491726cff8d395027e5245b7 Author: Yang, Sheng Date: Wed Jul 25 12:17:06 2007 +0300 KVM: VMX: Import some constants of vmcs from IA32 SDM This patch mainly imports some constants and rename two exist constants of vmcs according to IA32 SDM. It also adds two constants to indicate Lock bit and Enable bit in MSR_IA32_FEATURE_CONTROL, and replace the hardcode _5_ with these two bits. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit fe5518819463d57ed032bc12458ed681bc790609 Author: Shaohua Li Date: Mon Jul 23 14:51:39 2007 +0800 KVM: Move gfn_to_page out of kmap/unmap pairs gfn_to_page might sleep with swap support. Move it out of the kmap calls. Signed-off-by: Shaohua Li Signed-off-by: Avi Kivity commit 9ae0448f53324b3c476f68bd134d97ac4ec27e0c Author: Shaohua Li Date: Mon Jul 23 14:51:32 2007 +0800 KVM: Hoist kvm_mmu_reload() out of the critical section vmx_cpu_run doesn't handle error correctly and kvm_mmu_reload might sleep with mutex changes, so I move it above. Signed-off-by: Shaohua Li Signed-off-by: Avi Kivity commit 310bc76c2b6829cd280def4927b7ccf8b8c795df Author: Rusty Russell Date: Mon Jul 23 17:11:02 2007 +1000 KVM: Return if the pdptrs are invalid when the guest turns on PAE. Don't fall through and turn on PAE in this case. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 394b6e5944865a558fe25f0c5903b34c434038ee Author: Avi Kivity Date: Sun Jul 22 15:51:58 2007 +0300 KVM: x86 emulator: fix faulty check for two-byte opcode Right now, the bug is harmless as we never emulate one-byte 0xb6 or 0xb7. But things may change. Noted by the mysterious Gabriel C. Signed-off-by: Avi Kivity commit e3243452f4f35ed5f79d575100521bf257504b81 Author: Avi Kivity Date: Fri Jul 20 12:30:58 2007 +0300 KVM: x86 emulator: fix cmov for writeback changes The writeback fixes (02c03a326a5df825cc01de426f72e160db2b9538) broke cmov emulation. Fix. Signed-off-by: Avi Kivity commit 7075bc816cfad142da92207ed5a6f3da55b143ef Author: Rusty Russell Date: Tue Jul 17 23:37:17 2007 +1000 KVM: Use standard CR8 flags, and fix TPR definition Intel manual (and KVM definition) say the TPR is 4 bits wide. Also fix CR8_RESEVED_BITS typo. Signed-off-by: Rusty Russell Acked-by: H. Peter Anvin Signed-off-by: Avi Kivity commit 8fc0d085f521a2a76418f8f569cf1cd27f0e43d4 Author: Jeff Dike Date: Tue Jul 17 12:26:59 2007 -0400 KVM: Set exit_reason to KVM_EXIT_MMIO where run->mmio is initialized. Signed-off-by: Jeff Dike Signed-off-by: Avi Kivity commit 9eb829ced8c6f2e43a3a644ddf1279ffeee38a33 Author: Rusty Russell Date: Wed Jul 18 13:05:58 2007 +1000 KVM: Trivial: Use standard BITMAP macros, open-code userspace-exposed header Creating one's own BITMAP macro seems suboptimal: if we use manual arithmetic in the one place exposed to userspace, we can use standard macros elsewhere. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 66aee91aaab8f998d28a61ed7733be17ad8e6d8f Author: Rusty Russell Date: Tue Jul 17 23:34:16 2007 +1000 KVM: Use standard CR4 flags, tighten checking On this machine (Intel), writing to the CR4 bits 0x00000800 and 0x00001000 cause a GPF. The Intel manual is a little unclear, but AFIACT they're reserved, too. Also fix spelling of CR4_RESEVED_BITS. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit f802a307cb2cabdd0c6b48067dbe901d6fe27246 Author: Rusty Russell Date: Tue Jul 17 23:32:55 2007 +1000 KVM: Use standard CR3 flags, tighten checking The kernel now has asm/cpu-features.h: use those macros instead of inventing our own. Also spell out definition of CR3_RESEVED_BITS, fix spelling and tighten it for the non-PAE case. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 707d92fa72b425bc919a84670c01402e81505c58 Author: Rusty Russell Date: Tue Jul 17 23:19:08 2007 +1000 KVM: Trivial: Use standard CR0 flags macros from asm/cpu-features.h The kernel now has asm/cpu-features.h: use those macros instead of inventing our own. Also spell out definition of CR0_RESEVED_BITS (no code change) and fix typo. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 9a2b85c620b9779360c7726de4caeda78cac38d4 Author: Rusty Russell Date: Tue Jul 17 23:17:55 2007 +1000 KVM: Trivial: Avoid hardware_disable predeclaration Don't pre-declare hardware_disable: shuffle the reboot hook down. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit dcc0766b22e165bcb80518bf367e86b81fcf4351 Author: Rusty Russell Date: Tue Jul 17 23:16:56 2007 +1000 KVM: Trivial: Comment spelling may escape grep Speling error in comment. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 1e3c5cb0d5a63b7169708614bfba0c7f25aa493e Author: Rusty Russell Date: Tue Jul 17 23:16:11 2007 +1000 KVM: Trivial: Make decode_register() static I have shied away from touching x86_emulate.c (it could definitely use some love, but it is forked from the Xen code, and it would be more productive to cross-merge fixes). Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 5eb549a085c3500f2b9d8b48d40393b6e50b68a9 Author: Rusty Russell Date: Tue Jul 17 23:15:29 2007 +1000 KVM: Trivial: Remove unused struct cpu_user_regs declaration Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit dea8caee7b6971ae90e9d303b5d98dbf2dafed53 Author: Rusty Russell Date: Tue Jul 17 23:12:26 2007 +1000 KVM: Trivial: /dev/kvm interface is no longer experimental. KVM interface is no longer experimental. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 65619eb5a88dae3dadbb1050f957ed357aa54a50 Author: Eddie Dong Date: Tue Jul 17 11:52:33 2007 +0300 KVM: In-kernel string pio write support Add string pio write support to support some version of Windows. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 24cbc7e9cb0488095e4e144a762276c85ff55f9b Author: Avi Kivity Date: Tue Jul 17 11:45:55 2007 +0300 KVM: Future-proof the exit information union ABI Note that as the size of struct kvm_run is not part of the ABI, we can add things at the end. Signed-off-by: Avi Kivity commit dad3795d2baa4e02cbfd161d9089c73dea16b4ba Author: Qing He Date: Thu Jul 12 12:33:56 2007 +0300 KVM: SMP: Add vcpu_id field in struct vcpu This patch adds a `vcpu_id' field in `struct vcpu', so we can differentiate BSP and APs without pointer comparison or arithmetic. Signed-off-by: Qing He Signed-off-by: Avi Kivity commit cd0d91379776cb6850c7b11c0a8843ca75967558 Author: Nguyen Anh Quynh Date: Wed Jul 11 14:30:54 2007 +0300 KVM: Fix *nopage() in kvm_main.c *nopage() in kvm_main.c should only store the type of mmap() fault if the pointers are not NULL. This patch fixes the problem. Signed-off-by: Nguyen Anh Quynh Signed-off-by: Avi Kivity commit 81fe96bde7db24c02adf245604f073ea9e8d941a Author: Avi Kivity Date: Thu Sep 27 10:07:04 2007 +0200 i386: Expose IOAPIC register definitions even if CONFIG_X86_IO_APIC is not set KVM reuses the IOAPIC register definitions, and needs them even if the host is not compiled with IOAPIC support. Move the #ifdef below so that only the IOAPIC variables and functions are protected, and the register definitions are available to all. Signed-off-by: Avi Kivity commit 752097cec53eea111d087c545179b421e2bde98a Author: Jeff Garzik Date: Fri Oct 12 22:34:40 2007 -0400 x86/pci/acpi: fix DMI const-ification fallout Fix DMI const-ification fallout that appeared when merging subsystem trees. Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit b6c7347fffa655a3000d9d41640d222c19fc3065 Author: Nick Piggin Date: Sat Oct 13 03:07:38 2007 +0200 x86: optimise barriers According to latest memory ordering specification documents from Intel and AMD, both manufacturers are committed to in-order loads from cacheable memory for the x86 architecture. Hence, smp_rmb() may be a simple barrier. Also according to those documents, and according to existing practice in Linux (eg. spin_unlock doesn't enforce ordering), stores to cacheable memory are visible in program order too. Special string stores are safe -- their constituent stores may be out of order, but they must complete in order WRT surrounding stores. Nontemporal stores to WB memory can go out of order, and so they should be fenced explicitly to make them appear in-order WRT other stores. Hence, smp_wmb() may be a simple barrier. http://developer.intel.com/products/processor/manuals/318147.pdf http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24593.pdf In userspace microbenchmarks on a core2 system, fence instructions range anywhere from around 15 cycles to 50, which may not be totally insignificant in performance critical paths (code size will go down too). However the primary motivation for this is to have the canonical barrier implementation for x86 architecture. smp_rmb on buggy pentium pros remains a locked op, which is apparently required. Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 4071c718555d955a35e9651f77086096ad87d498 Author: Nick Piggin Date: Sat Oct 13 03:06:55 2007 +0200 x86: fix IO write barrier wmb() on x86 must always include a barrier, because stores can go out of order in many cases when dealing with devices (eg. WC memory). Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit df1bdc0667eb3132fe60b3562347ca9133694ee0 Author: Nick Piggin Date: Sat Oct 13 03:06:00 2007 +0200 x86: fence oostores on 64-bit movnt* instructions are not strongly ordered with respect to other stores, so if we are to assume stores are strongly ordered in the rest of the 64 bit code, we must fence these off (see similar examples in 32 bit code). [ The AMD memory ordering document seems to say that nontemporal stores can also pass earlier regular stores, so maybe we need sfences _before_ movnt* everywhere too? ] Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit 2b9e0aae1d50e880c58d46788e5e3ebd89d75d62 Author: Linus Torvalds Date: Fri Oct 12 17:58:36 2007 -0700 Only enable BLOCK_COMPAT if COMPAT is needed IOW, it needs to depend on both CONFIG_BLOCK and CONFIG_COMPAT. Signed-off-by: Linus Torvalds commit ece8a9e4f011b038396c7649a8407ca9171be4a9 Author: Ralf Baechle Date: Fri Oct 12 15:03:38 2007 +0100 [MIPS] SMP: Fix use of cpumasks. Noticed by Nick Piggin . Signed-off-by: Ralf Baechle commit 6f1ca1d2869814711bcf983cfc0803cfd0b29f27 Author: Ralf Baechle Date: Fri Oct 12 15:39:45 2007 +0100 [MIPS] Revert "[MIPS] tlbex.c: Cleanup __init usage." This reverts commit aaf76a3245c02faba51c96b9a340c14d6bb0dcc0. As requested by ranck Bui-Huu . Signed-off-by: Ralf Baechle commit 57f17e8e15a8e392312450e28f80d6a90470e066 Author: Ralf Baechle Date: Fri Oct 12 12:29:21 2007 +0100 [MIPS] CFE: Add missing parenthesis. Signed-off-by: Ralf Baechle commit ab9c232286c2b77be78441c2d8396500b045777e Merge: 8bd0983... 2855568... Author: Linus Torvalds Date: Fri Oct 12 16:16:41 2007 -0700 Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (119 commits) [libata] struct pci_dev related cleanups libata: use ata_exec_internal() for PMP register access libata: implement ATA_PFLAG_RESETTING libata: add @timeout to ata_exec_internal[_sg]() ahci: fix notification handling ahci: clean up PORT_IRQ_BAD_PMP enabling ahci: kill leftover from enabling NCQ over PMP libata: wrap schedule_timeout_uninterruptible() in loop libata: skip suppress reporting if ATA_EHI_QUIET libata: clear ehi description after initial host report pata_jmicron: match vendor and class code only libata: add ST9160821AS / 3.ALD to NCQ blacklist pata_acpi: ACPI driver support libata-core: Expose gtm methods for driver use libata: add HDT722516DLA380 to NCQ blacklist libata: blacklist NCQ on Seagate Barracuda ST380817AS [libata] Turn on ACPI by default libata_scsi: Fix ATAPI transfer lengths libata: correct handling of SRST reset sequences libata: Integrate ACPI-based PATA/SATA hotplug - version 5 ... commit 8bd0983e05757e5c1f7a3342cd09badae93c167d Author: Andi Kleen Date: Sat Oct 13 01:01:08 2007 +0200 Update maintainers file Since there is no x86-64 architecture anymore it cannot be maintained. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 6a84258e5f5bb8b9bd72e06a5837fa6fdacaf5c5 Merge: efefc6e... f3e6f16... Author: Linus Torvalds Date: Fri Oct 12 15:50:23 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (37 commits) PCI: merge almost all of pci_32.h and pci_64.h together PCI: X86: Introduce and enable PCI domain support PCI: Add 'nodomains' boot option, and pci_domains_supported global PCI: modify PCI bridge control ISA flag for clarity PCI: use _CRS for PCI resource allocation PCI: avoid P2P prefetch window for expansion ROMs PCI: skip ISA ioresource alignment on some systems PCI: remove transparent bridge sizing pci: write file size to inode on proc bus file write pci: use size stored in proc_dir_entry for proc bus files pci: implement "pci=noaer" PCI: fix IDE legacy mode resources MSI: Use correct data offset for 32-bit MSI in read_msi_msg() PCI: Fix incorrect argument order to list_add_tail() in PCI dynamic ID code PCI: i386: Compaq EVO N800c needs PCI bus renumbering PCI: Remove no longer correct documentation regarding MSI vector assignment PCI: re-enable onboard sound on "MSI K8T Neo2-FIR" PCI: quirk_vt82c586_acpi: Omit reading PCI revision ID PCI: quirk amd_8131_mmrbc: Omit reading pci revision ID cpqphp: Use PCI_CLASS_REVISION instead of PCI_REVISION_ID for read ... commit efefc6eb38d43b8e5daef482f575d767b002004e Merge: 117494a... cd59abf... Author: Linus Torvalds Date: Fri Oct 12 15:49:37 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits) PM: merge device power-management source files sysfs: add copyrights kobject: update the copyrights kset: add some kerneldoc to help describe what these strange things are Driver core: rename ktype_edd and ktype_efivar Driver core: rename ktype_driver Driver core: rename ktype_device Driver core: rename ktype_class driver core: remove subsystem_init() sysfs: move sysfs file poll implementation to sysfs_open_dirent sysfs: implement sysfs_open_dirent sysfs: move sysfs_dirent->s_children into sysfs_dirent->s_dir sysfs: make sysfs_root a regular directory dirent sysfs: open code sysfs_attach_dentry() sysfs: make s_elem an anonymous union sysfs: make bin attr open get active reference of parent too sysfs: kill unnecessary NULL pointer check in sysfs_release() sysfs: kill unnecessary sysfs_get() in open paths sysfs: reposition sysfs_dirent->s_mode. sysfs: kill sysfs_update_file() ... commit 117494a1b65183f0e3fcc817b07944bc5c465050 Merge: 4d5709a... d1aa3e6... Author: Linus Torvalds Date: Fri Oct 12 15:49:10 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (142 commits) USB: fix race in autosuspend reschedule atmel_usba_udc: Keep track of the device status USB: Nikon D40X unusual_devs entry USB: serial core should respect driver requirements USB: documentation for USB power management USB: skip autosuspended devices during system resume USB: mutual exclusion for EHCI init and port resets USB: allow usbstorage to have LUNS greater than 2Tb USB: Adding support for SHARP WS011SH to ipaq.c USB: add atmel_usba_udc driver USB: ohci SSB bus glue USB: ehci build fixes on au1xxx, ppc-soc USB: add runtime frame_no quirk for big-endian OHCI USB: funsoft: Fix termios USB: visor: termios bits USB: unusual_devs entry for Nikon DSC D2Xs USB: re-remove USB: move to USB: Export URB statistics for powertop USB: serial gadget: Disable endpoints on unload ... commit 4d5709a7b7d54fc5882d2943a14988a92d48c00a Merge: 57c5b99... 9eb5957... Author: Linus Torvalds Date: Fri Oct 12 15:42:01 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Don't take semaphore in cpufreq_quick_get() [CPUFREQ] Support different families in fid/did to frequency conversion [CPUFREQ] cpufreq_stats: misc cpuinit section annotations [CPUFREQ] implement !CONFIG_CPU_FREQ stub for cpufreq_unregister_notifier() [CPUFREQ] mark hotplug notifier callback as __cpuinit [CPUFREQ] Only check for transition latency on problematic governors (kconfig fix) [CPUFREQ] allow ondemand and conservative cpufreq governors to be used as default [CPUFREQ] move policy's governor initialisation out of low-level drivers into cpufreq core [CPUFREQ] Longhaul - Add support for PM133 northbridge [CPUFREQ] x86: use num_online_nodes to get physical cpus numbers for commit 57c5b9998ea05a90ebacaa13c45f985ffe09dbe9 Merge: a6e3d7d... ed6fb17... Author: Linus Torvalds Date: Fri Oct 12 15:39:39 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86: (40 commits) x86: HPET add another ICH7 PCI id x86: HPET force enable ICH5 suspend/resume fix x86: HPET force enable for ICH5 x86: HPET try to activate force detected hpet x86: HPET force enable o ICH7 and later x86: HPET restructure hpet code for hpet force enable clock events: allow replacement of broadcast timer i386/x8664: cleanup the shared hpet code i386: Remove the useless #ifdef in i8253.h ACPI: remove the now unused ifdef code jiffies: remove unused macros x86_64: cleanup apic.c after clock events switch x86_64: remove now unused code x86: unify timex.h variants x86: kill 8253pit.h x86: disable apic timer for AMD C1E enabled CPUs x86: Fix irq0 / local apic timer accounting x86_64: convert to clock events x86_64: Add (not yet used) clock event functions x86_64: prepare idle loop for dynamic ticks ... commit a6e3d7dba92e19acffaa36aad962741a762aa8c5 Merge: 42f04b6... e7b3401... Author: Linus Torvalds Date: Fri Oct 12 15:04:00 2007 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (23 commits) ocfs2: Optionally return filldir errors ocfs2: Write support for directories with inline data ocfs2: Read support for directories with inline data ocfs2: Write support for inline data ocfs2: Read support for inline data ocfs2: Structure updates for inline data ocfs2: Cleanup dirent size check ocfs2: Rename cleanups ocfs2: Provide convenience function for ino lookup ocfs2: Implement ocfs2_empty_dir() as a caller of ocfs2_dir_foreach() ocfs2: Remove open coded readdir() ocfs2: Pass raw u64 to filldir ocfs2: Abstract out core dir listing functionality ocfs2: Move directory manipulation code into dir.c ocfs2: Small refactor of truncate zeroing code ocfs2: move nonsparse hole-filling into ocfs2_write_begin() ocfs2: Sync ocfs2_fs.h with ocfs2-tools [PATCH] fs/ocfs2/: removed unneeded initial value and function's return value ocfs2: Implement show_options() ocfs2: Clear slot map when umounting a local volume ... commit 42f04b6d4c8c69ccffc10863418c5b5f100a8554 Merge: 71a380d... 4b5a9b3... Author: Linus Torvalds Date: Fri Oct 12 15:03:35 2007 -0700 Merge branch 'isdn-cleanups' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'isdn-cleanups' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [ISDN] HiSax diva: split setup into three smaller functions [ISDN] HiSax sedlbauer: move ISAPNP and PCI code into functions of their own [ISDN] HiSax elsa: split huge setup function into four smaller functions [ISDN] HiSax avm_pci: split setup into three smaller functions [ISDN] Remove CONFIG_PCI ifdefs from 100% PCI source code commit f3e6f164c2389853432454c89b316a8ab7485e2f Author: Greg Kroah-Hartman Date: Fri Oct 12 14:07:23 2007 -0700 PCI: merge almost all of pci_32.h and pci_64.h together It was just duplicated code... Signed-off-by: Greg Kroah-Hartman commit a79e4198d1effbba040e9bf407a95fc9b3418789 Author: Jeff Garzik Date: Thu Oct 11 16:58:30 2007 -0400 PCI: X86: Introduce and enable PCI domain support * fix bug in pci_read() and pci_write() which prevented PCI domain support from working (hardcoded domain 0). * unconditionally enable CONFIG_PCI_DOMAINS * implement pci_domain_nr() and pci_proc_domain(), as required of all arches when CONFIG_PCI_DOMAINS is enabled. * store domain in struct pci_sysdata, as assigned by ACPI * support "pci=nodomains" Signed-off-by: Jeff Garzik Cc: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 32a2eea795643929a43cbbba00d8c4a176b309bf Author: Jeff Garzik Date: Thu Oct 11 16:57:27 2007 -0400 PCI: Add 'nodomains' boot option, and pci_domains_supported global * Introduce pci_domains_supported global, hardcoded to zero if !CONFIG_PCI_DOMAINS. * Introduce 'nodomains' boot option, which clears pci_domains_supported on platforms that enable it by default (x86, x86-64, and others when they are converted to use this). Signed-off-by: Jeff Garzik Cc: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 11949255d9433ea6c0908b7390ec4faecd1d4cf0 Author: Gary Hade Date: Mon Oct 8 16:24:16 2007 -0700 PCI: modify PCI bridge control ISA flag for clarity Modify PCI Bridge Control ISA flag for clarity This patch changes PCI_BRIDGE_CTL_NO_ISA to PCI_BRIDGE_CTL_ISA and modifies it's clarifying comment and locations where used. The change reduces the chance of future confusion since it makes the set/unset meaning of the bit the same in both the bridge control register and bridge_ctl field of the pci_bus struct. Signed-off-by: Gary Hade Acked-by: Linas Vepstas Cc: Ivan Kokshaysky Signed-off-by: Greg Kroah-Hartman commit 62f420f828249f686aaae949ac3439d1304a759a Author: Gary Hade Date: Wed Oct 3 15:56:51 2007 -0700 PCI: use _CRS for PCI resource allocation Use _CRS for PCI resource allocation This patch resolves an issue where incorrect PCI memory and i/o ranges are being assigned to hotplugged PCI devices on some IBM systems. The resource mis-allocation not only makes the PCI device unuseable but often makes the entire system unuseable due to resulting machine checks. The hotplug capable PCI slots on the affected systems are not located under a standard P2P bridge but are instead located under PCI root bridges or subtractive decode P2P bridges. For example, the IBM x3850 contains 2 hotplug capable PCI-X slots and 4 hotplug capable PCIe slots with the PCI-X slots each located under a PCI root bridge and the PCIe slots each located under a subtractive decode P2P bridge. The current i386/x86_64 PCI resource allocation code does not use _CRS returned resource information. No other resource information source is available for slots that are not below a standard P2P bridge so incorrect ranges are being allocated from e820 hole causing the bad result. This patch causes the kernel to use _CRS returned resource info. It is roughly based on a change provided by Matthew Wilcox for the ia64 kernel in 2005. Due to possible buggy BIOS factor and possible yet to be discovered kernel issues the function is disabled by default and can be enabled with pci=use_crs. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit fd64cb4606cbdd592b7119e82341d4ae5b56f2cc Author: Gary Hade Date: Wed Oct 3 15:56:30 2007 -0700 PCI: avoid P2P prefetch window for expansion ROMs Avoid creating P2P prefetch window for expansion ROMs Because of the future possibility that P2P prefetch windows will contain address ranges above 4GB some BIOSes are providing space in the P2P non-prefetch windows for expansion ROMs. This is due to expansion ROM BAR 32-bit limitation. When expansion ROM BARs without BIOS assigned address(es) are currently found behind a P2P bridge, the kernel attempts to create a P2P prefetch window for them even though space for them has already been provided in the non-prefetch window. _CRS on some systems with certain resource conservation conscious BIOSes may not provide the extra 1MB or more memory resource needed for the expansion ROM motivated prefetch window causing resource allocation errors. This change corrects the problem by removing IORESOURCE_PREFETCH from the expansion ROM flags initialization. It also removes IORESOURCE_CACHEABLE which seems inappropriate if only non-cacheable memory is available. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit 036fff4cf732c4d69f99a2915924935705744b00 Author: Gary Hade Date: Wed Oct 3 15:56:14 2007 -0700 PCI: skip ISA ioresource alignment on some systems Skip ISA ioresource alignment on some systems To conserve limited PCI i/o resource on some IBM multi-node systems, the BIOS allocates (via _CRS) and expects the kernel to use addresses in ranges currently excluded by pcibios_align_resource() [i386/pci/i386.c]. This change allows the kernel to use the currently excluded address ranges on the IBM x3800, x3850, and x3950. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit 8fa5913d54f3b1e09948e6a0db34da887e05ff1f Author: Gary Hade Date: Wed Oct 3 15:55:51 2007 -0700 PCI: remove transparent bridge sizing Remove transparent bridge sizing. Due to code in pci_read_bridge_bases() [drivers/pci/probe.c] the child bus of a transparent bridge already has access to the parent bus resources so transparent bridge sizing appears unnecessary. The bridge sizing includes alignment and granularity adjustments that can cause significantly more memory to be reserved from the parant bus than required by devices on the child bus and allotted by _CRS. Signed-off-by: Gary Hade Signed-off-by: Greg Kroah-Hartman commit ecb3908046ce9ce7feb44e2c2cf77ccdbe231f70 Author: David Rientjes Date: Thu Sep 27 13:41:17 2007 -0700 pci: write file size to inode on proc bus file write When a /proc/bus/pci file is written to, the size of that PCI device's configuration space must be written to the inode. Otherwise, it is possible for the file to specify a size of 0 on stat if a task is holding the same file open. Signed-off-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit cd68602f36ceb65b24a9abcae10ca04a933c07fd Author: David Rientjes Date: Thu Sep 27 13:41:16 2007 -0700 pci: use size stored in proc_dir_entry for proc bus files On pci_proc_attach_device(), the size of the PCI configuration space is stored in the proc_dir_entry as the size of the file. Thus, the procfs interface to PCI devices should use it instead of the device directly. Signed-off-by: David Rientjes Signed-off-by: Greg Kroah-Hartman commit 7f785763660e75c9eddaddea3d618696af4ae3a2 Author: Randy Dunlap Date: Fri Oct 5 13:17:58 2007 -0700 pci: implement "pci=noaer" For cases in which CONFIG_PCIEAER=y (such as distro kernels), allow users to disable PCIE Advanced Error Reporting by using "pci=noaer" on the kernel command line. This can be used to work around hardware or (kernel) software problems. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit fd6e732186ab522c812ab19c2c5e5befb8ec8115 Author: Yoichi Yuasa Date: Tue Oct 2 14:19:23 2007 -0700 PCI: fix IDE legacy mode resources I got the following error on MIPS Cobalt. PCI: Unable to reserve I/O region #1:8@f00001f0 for device 0000:00:09.1 pata_via 0000:00:09.1: failed to request/iomap BARs for port 0 (errno=-16) PCI: Unable to reserve I/O region #3:8@f0000170 for device 0000:00:09.1 pata_via 0000:00:09.1: failed to request/iomap BARs for port 1 (errno=-16) pata_via 0000:00:09.1: no available native port The legacy mode IDE resources set the following order. pci_setup_device() Legacy mode ATA controllers have fixed addresses. IDE resources: 0x1F0-0x1F7, 0x3F6, 0x170-0x177, 0x376 | V pcibios_fixup_bus() MIPS Cobalt PCI bus regions have the -0x10000000 offset from PCI resources. pcibios_fixup_bus() fix PCI bus regions. 0x1F0 - 0x10000000 = 0xF00001F0 | V ata_pci_init_one() PCI: Unable to reserve I/O region #1:8@f00001f0 for device 0000:00:09.1 In some architectures, PCI bus regions have the offset from PCI resources. For this reason, pci_setup_device() should set PCI bus regions to dev->resource[]. [akpm@linux-foundation.org: use struct initialiser] Signed-off-by: Yoichi Yuasa Cc: Alan Cox Cc: Greg KH Cc: Bartlomiej Zolnierkiewicz Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit cbf5d9e6b9bcf03291cbb51db144b3e2773a8a2d Author: Roland Dreier Date: Wed Oct 3 11:15:11 2007 -0700 MSI: Use correct data offset for 32-bit MSI in read_msi_msg() While reading the MSI code trying to find a reason why MSI wouldn't work for devices that have a 32-bit MSI address capability, I noticed that read_msi_msg() seems to read the message data from the wrong offset in this case. Signed-off-by: Roland Dreier Acked-by: Eric W. Biederman Cc: stable Signed-off-by: Greg Kroah-Hartman commit a56bc69a182f501582557af7fad5bc882b1c856c Author: Michael Ellerman Date: Fri Sep 14 15:33:13 2007 +1000 PCI: Fix incorrect argument order to list_add_tail() in PCI dynamic ID code The code for dynamically assigning new ids to PCI drivers, store_new_id(), calls list_add_tail() with the list head and new node arguments in reversed order. The result is that every new id written essentially overwrites the previous list of ids. Caught with the help of Rusty's "horribly bad" list_node patch: http://lkml.org/lkml/2007/6/10/10 Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 5b1ea82fa245d4be6409cdba7e522ecb0b966b3c Author: Juha Laiho Date: Thu Sep 13 21:21:34 2007 +0300 PCI: i386: Compaq EVO N800c needs PCI bus renumbering Force PCI bus renumbering for Compaq EVO N800c laptop, in order to get the cardbus slot recognised. Signed-off-by: Juha Laiho Signed-off-by: Greg Kroah-Hartman commit 4904e23b6b37c748a35bb2bd14ea325d0592e671 Author: Michael Ellerman Date: Thu Sep 20 12:48:23 2007 +1000 PCI: Remove no longer correct documentation regarding MSI vector assignment The MSI vector reservation system described in Documentation/MSI-HOWTO.txt was removed by Eric in 92db6d10bc1bc43330a4c540fa5b64c83d9d865f. Remove the references to it in the documentation. While we're here § 5.5.1 refers to x86 hardware requirements, so make that clear. Signed-off-by: Michael Ellerman Cc: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 346ca04d050ac48ceb8e4a6b1c76c2d7fd5d1a6a Author: Johannes Goecke Date: Mon Sep 10 10:46:52 2007 +0200 PCI: re-enable onboard sound on "MSI K8T Neo2-FIR" On the "MSI K8T Neo2-FIR" board the BIOS disables the onboard soundcard, if a second PCI soundcard is present. This patch sets the korrect register bit to enable the onboard sound. Removed old code in /drivers/pci/quirks.c that only checks for the PCI-ID and fires on any Board with VIA 8237. New code in /arch/i386/pci/fixup.c checks the DMI-tables and only runs on the specific board. Signed-off-by: Johannes Goecke Acked-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 651472fbff71df39d3d734de31bca6e5412a688b Author: Auke Kok Date: Mon Aug 27 16:18:10 2007 -0700 PCI: quirk_vt82c586_acpi: Omit reading PCI revision ID Signed-off-by: Auke Kok Signed-off-by: Greg Kroah-Hartman commit aa288d4d6bc7d150bab3a5be954979a09633ccdd Author: Auke Kok Date: Mon Aug 27 16:17:47 2007 -0700 PCI: quirk amd_8131_mmrbc: Omit reading pci revision ID Signed-off-by: Auke Kok Cc: Peter Oruba Signed-off-by: Greg Kroah-Hartman commit 3799a4e7d8867cfbb137d417beb126d5a2302607 Author: Auke Kok Date: Mon Aug 27 16:17:38 2007 -0700 cpqphp: Use PCI_CLASS_REVISION instead of PCI_REVISION_ID for read While PCI_CLASS_REVISION and PCI_REVISION_ID are identical, the code here discards the revision content and is only interested in the class number. Signed-off-by: Auke Kok Cc: Krosten Accardi Signed-off-by: Greg Kroah-Hartman commit 9f672153ba921fdc6d4ef5ca8f6e65ac58cc970c Author: Alex Chiang Date: Tue Aug 21 17:49:07 2007 -0600 PCI: Add missing PCI capability IDs These IDs are in pciutils, but haven't been added to the kernel yet. Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit b205f6b2679c7fcf761ed726de8093ca69b6c26e Author: Thomas Backlund Date: Fri Aug 10 14:42:15 2007 -0700 i386: add support for picopower irq router Add support for PicoPower PT86C523 IRQ router to be used with the in-kernel yenta driver for CardBus. With this patch cardbus works on e.g. Dell Latitude XPi P150CD. Initial patch for kernel 2.4 series by Sune Mølgaard http://molgaard.org/code/linux-2.4.31-picopower.patch Ported to 2.6.20 by Chmouel Boudjnah (http://www.chmouel.com) Testing and confirmation that it works by Austin Acton Cleaned up a little for inclusion in a 2.6.21-rc7 based kernel. Added some more cleanups according to CodingStyle, as noted by Randy Dunlap on LKML. [akpm@linux-foundation.org: build fixes] Signed-off-by: Thomas Backlund Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3d034aecd8b70d34388a4e40ca50af0d014223e1 Author: Denis V. Lunev Date: Tue Aug 7 13:13:18 2007 +0400 PCI: pci_get_device call from interrupt in reboot fixups The following calltrace is possible now: handle_sysrq machine_emergency_restart mach_reboot_fixups pci_get_device pci_get_subsys down_read The patch skips reboot fixup if called from sysrq-B code. Signed-off-by: Denis V. Lunev Signed-off-by: Greg Kroah-Hartman commit aa24886e379d2b641c5117e178b15ce1d5d366ba Author: David Brownell Date: Fri Aug 10 13:10:27 2007 -0700 dma_free_coherent() needs irqs enabled (sigh) On at least ARM (and I'm told MIPS too) dma_free_coherent() has a newish call context requirement: unlike its dma_alloc_coherent() sibling, it may not be called with IRQs disabled. (This was new behavior on ARM as of late 2005, caused by ARM SMP updates.) This little surprise can be annoyingly driver-visible. Since it looks like that restriction won't be removed, this patch changes the definition of the API to include that requirement. Also, to help catch nonportable drivers, it updates the x86 and swiotlb versions to include the relevant warnings. (I already observed that it trips on the bus_reset_tasklet of the new firewire_ohci driver.) Signed-off-by: David Brownell Cc: David Miller Acked-by: Russell King Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit fa007d8bebc5d812a445c48664b5bcad81f1351c Author: Christoph Hellwig Date: Tue Aug 14 16:17:15 2007 -0700 pci: hotplug: cpqphp: convert to kthread infrastructure Signed-off-by: Christoph Hellwig Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 2d100fe8f6ebe5e4335b26f3749bb0b7f706d1f9 Author: Kristen Carlson Accardi Date: Tue Aug 14 16:07:00 2007 -0700 pci: hotplug: ibmphp: convert to kthread Convert ibmphp to new kthread api Signed-off-by: Kristen Carlson Accardi Cc: Christoph Hellwig Signed-off-by: Greg Kroah-Hartman commit 229f5afded86bf3819b7b67e57c62813ca0648a7 Author: vignesh babu Date: Mon Aug 13 18:23:14 2007 +0530 PCI: is_power_of_2 in drivers/pci/pci.c Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: Greg Kroah-Hartman commit 40730d1042c595b1e84b28e40021f2c1377b4f8b Author: Kenji Kaneshige Date: Thu Aug 9 16:09:38 2007 -0700 pciehp: minor cleanups for pciehp_hpc.c Minor cleanups for pciehp_hpc.c. The 80 column rules, removing unnecessary lines, and so on. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 9fe8164536c4fa6e630c706c667a2c6e8456d143 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:37 2007 -0700 pciehp: remove trailing whitespace form pciehp_pci.c Remove trailing whitespaces from pciehp_pci.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 36ed27b07b873db06c10d2f8f41aa17be6803fdd Author: Kenji Kaneshige Date: Thu Aug 9 16:09:36 2007 -0700 pciehp: remove trailing whitespace from pciehp_ctrl.c Remove trailing whitespaces from pciehp_ctrl.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a073a8267400be2bd8acf808a45bc3ab01cf1b20 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:35 2007 -0700 pciehp: remove trailing whitespace from pciehp_core.c Remove trailing whitespaces from pciehp_core.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 71ad556dadcd303b4d32e9b890dcf1ccfbe9aeb3 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:34 2007 -0700 pciehp: remove trailing whitespace from pciehp_hpc.c Remove trailing whitespaces from pciehp_hpc.c. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit c8426483776d913c5bdc3d698a7633496a885b78 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:33 2007 -0700 pciehp: remove DBG_XXX_ROUTINE This patch removes DBG_ENTER_ROUTIN, DBG_LEAVE_ROUTINE and related code, which seem no longer needed. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 57d90c027641169b0724f94d355704e28895bcd6 Author: Kristen Carlson Accardi Date: Thu Aug 9 16:09:32 2007 -0700 PCI Hotplug: pciehp: Request control over PCI Express Capability as well as Native hotplug According to the PCI firmware spec (3.0), the OS must claim control over the PCI Express Capability bits in addition to the PCI Express Native Hot Plug feature when executing _OSC. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 1cf53d5ddb93b77ce1e277da85fe695e4c2a667d Author: Kristen Carlson Accardi Date: Thu Aug 9 16:09:31 2007 -0700 PCI Hotplug: pciehp: Dont check bridge control on remove When removing a device with a bridge on it, only read the bridge control register if the adapter is actually present. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 89913bf77a60fdb6ff204a670d3e191848a7b2c8 Author: Kenji Kaneshige Date: Thu Aug 9 16:09:30 2007 -0700 pciehp: remove CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE Remove unnecessary CONFIG_HOTPLUG_PCI_PCIE_EVENT_MODE. The CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE option is not needed because polling mechanism can be enabled through 'pciehp_poll_mode' module option. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 73a985a140cd0f1b17fa1438af0359d6b9b32b16 Author: Mariusz Kozlowski Date: Tue Jul 31 19:14:28 2007 +0200 PCI Hotplug: cpqphp_ctrl.c: kmalloc + memset conversion to kzalloc drivers/pci/hotplug/cpqphp_ctrl.c | 79698 -> 79638 (-60 bytes) drivers/pci/hotplug/cpqphp_ctrl.o | 192896 -> 192736 (-160 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 71a380d668189778416d37cde5521575a45c5a17 Merge: 408af0d... 60cc514... Author: Linus Torvalds Date: Fri Oct 12 15:02:45 2007 -0700 Merge branch 'hysdn' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'hysdn' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [ISDN] hysdn: convert to PCI hotplug API commit 408af0dab78ef4145203b849d6bfd3195f6e3ec9 Merge: 7e6973e... 77f1fd6... Author: Linus Torvalds Date: Fri Oct 12 15:01:16 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: use correct unregister function for led trigger commit d1aa3e6aa8edfeb864af7c930523d9e588b28bea Author: Alan Stern Date: Thu Oct 11 16:47:36 2007 -0400 USB: fix race in autosuspend reschedule This patch (as1002) fixes a small race which can occur when a driver expects usbcore to reschedule an autosuspend request. If the request arrives too late, it won't be rescheduled. The patch adds an extra argument to autosuspend_check(), indicating that a reschedule is needed no matter how much time has elapsed. It also tries to avoid letting asynchronous changes to the value of jiffies cause a delay to become negative, by caching a local copy of the current time. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 58ed7b94d98245fbad54a0af7ea3317ab1dd6876 Author: Haavard Skinnemoen Date: Thu Oct 11 13:40:30 2007 -0700 atmel_usba_udc: Keep track of the device status Keep track of the device status (as returned by the GET_STATUS request) and allow it to be manipulated by set_selfpowered() as well as SET_FEATURE/CLEAR_FEATURE (for remote wakeup) Implement the wakeup() op, which refuses to do anything if the DEVICE_REMOTE_WAKEUP feature wasn't set by the host. Now this driver passes USBCV (at least, with gadget zero). Fix one more locking bug; lockdep is every developer's friend. Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d466a9190ff1ceddfee50686e61d63590fc820d9 Author: Ortwin Glück Date: Thu Oct 11 17:29:43 2007 +0200 USB: Nikon D40X unusual_devs entry Not surprisingly the Nikon D40X DSC needs the same quirks as the D40, but it has a separate ID. See http://bugs.gentoo.org/show_bug.cgi?id=191431 From: Ortwin Glück Signed-off-by: Greg Kroah-Hartman commit 063a2da8f01806906f7d7b1a1424b9afddebc443 Author: Alan Stern Date: Wed Oct 10 16:24:06 2007 -0400 USB: serial core should respect driver requirements This patch (as997) fixes a bug in the USB serial core. The core needs to pay attention to drivers' requirements regarding the number and type of endpoints a device has. At the same time, the patch changes the NUM_DONT_CARE constant (which is stored in a single-byte field) from -1 to a safer, unsigned value. It also improves the kerneldoc for several fields in the usb_serial_driver structure. Finally, the patch replaces a list_for_each() with list_for_each_entry(). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cd38c1e1ae5273c28a12baacaf17c1faa062661f Author: Alan Stern Date: Wed Oct 10 16:24:56 2007 -0400 USB: documentation for USB power management This patch (as998) adds documentation on how USB power management works and how to use it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 271f9e68f3450ac8d1ff3bda36581f1ec0d0cc1f Author: Alan Stern Date: Wed Oct 10 16:30:12 2007 -0400 USB: skip autosuspended devices during system resume System suspends and hibernation are supposed to be as transparent as possible. By this reasoning, if a USB device is already autosuspended before the system sleep begins then it should remain autosuspended after the system wakes up. This patch (as1001) adds a skip_sys_resume flag to the usb_device structure and uses it to avoid waking up devices which were suspended when a system sleep began. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 32fe01985aa2cb2562f6fc171e526e279abe10db Author: Alan Stern Date: Wed Oct 10 16:27:07 2007 -0400 USB: mutual exclusion for EHCI init and port resets This patch (as999) fixes a problem that sometimes shows up when host controller driver modules are loaded in the wrong order. If ehci-hcd happens to initialize an EHCI controller while the companion OHCI or UHCI controller is in the middle of a port reset, the reset can fail and the companion may get very confused. The patch adds an rw-semaphore and uses it to keep EHCI initialization and port resets mutually exclusive. Signed-off-by: Alan Stern Acked-by: David Brownell Cc: David Miller Cc: Dely L Sy Signed-off-by: Greg Kroah-Hartman commit 17f060224fb9f435c6f9306b7b61419d038def13 Author: Richard Sharpe Date: Wed Oct 10 10:56:28 2007 -0700 USB: allow usbstorage to have LUNS greater than 2Tb Attached is a very small patch (several comment lines) and a one-line coded change) that allows for USB storage devices that are larger than 2TB. At the company where I work we need such support, and one of my co-workers, Jane Liu, pointed out that SCSI low-layer drivers need to specify what size CDBs they accept. After looking through the code it became obvious that the current USB Storage code accepted the default of 12-byte CDBs, so I changed it to accept 16-byte CDBs. This allows our device to work. Signed-off-by: Richard Sharpe Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit eecfb911a03a48ef5f7114246343128bd01c1b5f Author: Nobuhiro Iwamatsu Date: Thu Oct 11 00:37:50 2007 +0900 USB: Adding support for SHARP WS011SH to ipaq.c This patch supports for SHARP WS011SH[0] to ipaq.c [0]: http://www.willcom-inc.com/ja/lineup/ws/011sh/index.html (Sorry , Japanese only.) Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Greg Kroah-Hartman commit 914a3f3b375493eb44ad652a431939258cf34f71 Author: Haavard Skinnemoen Date: Wed Oct 10 02:29:43 2007 -0700 USB: add atmel_usba_udc driver This is a driver for the Atmel USBA UDC which can be found integrated on AT32AP700x AVR32 processors. For hardware documentation, please see the AT32AP7000 data sheet: http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf This is a dual speed controller (connects at high or full speed). The driver supports up to 7 control, bulk, interrupt and isochronous endpoints with some constraints. Bulk, interrupt and isochronous transfers are driven by DMA. Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c604e851486eabcbeb73e984279d436ce121fd5d Author: Michael Buesch Date: Tue Oct 9 23:47:17 2007 -0700 USB: ohci SSB bus glue This adds SSB bus glue for the USB OHCI HCD. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b24896c6b7ddb37ab20ba0bbfd0ed36a38923f67 Author: David Brownell Date: Tue Oct 9 22:04:16 2007 -0700 USB: ehci build fixes on au1xxx, ppc-soc Cleanup: references to two PM routines (and HCD entry points) that no longer exist are swapped with their replacements. Evidently au1xxx and ppc-soc EHCI support doesn't get compiled with power management very much, or these build bugs would have been patched long ago. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4f45426cfd6170311e116442ccd8ce0e31979237 Author: Valentine Barshak Date: Tue Oct 9 15:00:05 2007 -0700 USB: add runtime frame_no quirk for big-endian OHCI Add OHCI big endian frame_no quirk. The frame_no value stored in the HCCA is a 16 bit field at a specific offset, but since not all CPUs can do 16-bit memory accesses it's used as a 32 bit field. And that's why big-endian OHCI must shift 16 bits ... unless the spec is not followed. Currently there's one MPC52xx platform that doesn't need the shift. This patch adds a new "big endian frame_no" quirk to control that at runtime. Signed-off-by: Valentine Barshak Acked-by: Dale Farnsworth Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f621b8437d6ae502dde45797f56407e48c7a68b4 Author: Alan Cox Date: Wed Sep 26 23:22:36 2007 +0100 USB: funsoft: Fix termios Funsoft has a bogus ioctl handler doing bogus termios handling in a bogus manner. Fortunately we can simply delete all the bogus bits and get the right default behaviour ! Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d9c563626d9a136636385209d59d0c4f16c4a7ab Author: Alan Cox Date: Wed Sep 26 23:34:18 2007 +0100 USB: visor: termios bits Visor has a huge complex routine which displays termios bits for debug but doesn't do anything. Get the correct behaviour by removing it all Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3046c6db575019ba4ce6b9deac352d438ddf733d Author: Alan Stern Date: Fri Oct 5 14:43:00 2007 -0400 USB: unusual_devs entry for Nikon DSC D2Xs This patch (as996) adds an unusual_devs entry for the Nikon DSC D2Xs camera. Signed-off-by: Alan Stern Cc: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 27f5d75afaa1b65e4cc1e4ac8a2a5095d24f1576 Author: David Brownell Date: Thu Oct 4 18:06:16 2007 -0700 USB: re-remove Remove ... somehow this was recreated when the Blackfin arch was merged, instead of using which is the correct header. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9454a57ab5922e5cd25321cae9d1a8cbeb3e2e85 Author: David Brownell Date: Thu Oct 4 18:05:17 2007 -0700 USB: move to Move to , reducing some of the clutter in the main include directory. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d59d8a11383ebf0e0260ee481a4e766959fd7d9 Author: Sarah Sharp Date: Wed Oct 3 14:56:03 2007 -0700 USB: Export URB statistics for powertop powertop currently tracks interrupts generated by uhci, ehci, and ohci, but it has no way of telling which USB device to blame USB bus activity on. This patch exports the number of URBs that are submitted for a given device. Cat the file 'urbnum' in /sys/bus/usb/devices/.../ Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 437f375f262417b484f28007c3e8d21bd01d0e01 Author: Vitaly Bordug Date: Thu Sep 27 00:36:22 2007 +0400 USB: serial gadget: Disable endpoints on unload After Serial gadget is being unloaded, neither serial itself, nor other gadget stuff can be loaded subsequently. Signed-off-by: Vitaly Bordug Signed-off-by: Greg Kroah-Hartman commit a59048d46303c4146993c37f51ed97a760fc4c0a Author: WANG Cong Date: Tue Oct 2 14:40:49 2007 -0700 USB: drivers/usb/misc/sisusbvga/sisusb.c: kill two unused variables Kill two unused variables in drivers/usb/misc/sisusbvga/sisusb.c. Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5395353e0c8272fe73ac914acd7e4add0da2bef0 Author: Benedikt Spranger Date: Tue Oct 2 14:40:48 2007 -0700 usb-gadget-ether: prevent oops caused by error interrupt race Fix a longstanding race in the Ethernet gadget driver, which can cause an oops on device disconnect. The fix is just to make the TX path check whether its freelist is empty. That check is otherwise not necessary, since the queue is always stopped when that list empties (and restarted when request completion puts an entry back on that freelist). The race window starts when the network code decides to transmit a packet, and ends when hard_start_xmit() grabs the freelist lock. When disconnect() is called inside that window, it shuts down the TX queue and breaks the otherwise-solid assumption that packets are never sent through a TX queue that's stopped. Signed-off-by: Benedikt Spranger Signed-off-by: Thomas Gleixner Signed-off-by: David Brownell Signed-off-by: Andrew Morton Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9dcfbd97a695a3c28a867501127fa35ac49bc805 Author: Andrew Morton Date: Tue Oct 2 14:40:46 2007 -0700 USB: fix gregkh-usb-usb-sisusb2vga-convert-printk-to-dev_-macros drivers/usb/misc/sisusbvga/sisusb.c: In function 'sisusb_open': drivers/usb/misc/sisusbvga/sisusb.c:2444: warning: 'sisusb' is used uninitialized in this function I can tell that'll oops just by looking at it. How come this code assume a 7,000 column xterm? :( Cc: Felipe Balbi Cc: Thomas Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit ca0677a29bddee35918bf3c0c55cc3badd69079e Author: Yoshihiro Shimoda Date: Fri Oct 5 15:53:12 2007 +0900 USB: r8a66597-hcd: fix driver removing Fixed the problem that accessed register of this controller after having called iounmap(). Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 05eac910b69209164b1d9357bf8877a7c81b2e4e Author: Yoshihiro Shimoda Date: Wed Oct 3 18:53:28 2007 +0900 USB: r8a66597-hcd: fix endian problem Fixed the problem that does not work in the big endian machine. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit e3a09051a16fcdb190ad0b7dc6064904c8118409 Author: Yoshihiro Shimoda Date: Wed Oct 3 18:53:13 2007 +0900 USB: r8a66597-hcd: fix Class or Vendor Request Fixed the problem that does not work in the case of bRequest = 0x05 in Class or Vendor Request. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 93b6497da99978742ffa9d9db6177397436278f5 Author: Adrian Bunk Date: Sun Sep 9 22:25:04 2007 +0200 USB: usb/serial/ch341.c: make 4 functions static This patch makes four needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 6ce76104781a10554129791dc62c3104424f6d48 Author: Frank A Kingswood Date: Wed Aug 22 20:48:58 2007 +0100 USB: Driver for CH341 USB-serial adaptor This patch implements a USB serial port driver for the Winchiphead CH341 USB-RS232 Converter. This chip also implements an IEEE 1284 parallel port, I2C and SPI, but that is not supported by the driver. Signed-off-by: Frank A Kingswood Signed-off-by: Greg Kroah-Hartman commit 4ac0718e83821db53451614e098399004694aa81 Author: Simon Arlott Date: Tue Sep 25 20:20:10 2007 +0100 USB: cxacru: Use appropriate logging for errors When an error occurs, existing logging uses dbg() so the cause of a problem is hard to determine. Error conditions shouldn't only be properly reported with debugging enabled. A side effect of this change is that when an uninitialised device is started, a log message similar to the following is sent: cxacru 5-2:1.0: receive of cm 0x90 failed (-104) This is normal - the device did not respond so firmware will be loaded. Signed-off-by: Simon Arlott Acked-by: Duncan Sands Signed-off-by: Greg Kroah-Hartman commit 1f4f714f88955cfb61fba0cd43fe3b07e4212257 Author: Edouard Lafargue Date: Tue Sep 25 10:15:36 2007 +0200 USB: cp2101.c: add additional device ID This patch adds an additional device ID to the cp2101 USB serial driver. This device is a Gemalto Prox-PU or CU contactless card reader (ISO14443-A/B and Mifare). The reader is a standard Gemalto serial proximity reader using the Gemalto Block Protocol (see reader's documentation) bundled with a built-in CP2102 for serial/USB conversion. Signed-off-by: Edouard Lafargue (edouard@lafargue.name) Signed-off-by: Greg Kroah-Hartman commit 16eb345f4d9189b59bae576ae63cba7ca77817b2 Author: Phil Dibowitz Date: Sat Sep 22 20:58:12 2007 -0700 USB: unusual_devs modification for Nikon D200 Upgrade the unusual_devs.h file to support the Nikon D200 Signed-off-by: Mike Pagano Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit a691efa9888e71232dfb4088fb8a8304ffc7b0f9 Author: Alan Stern Date: Fri Sep 21 16:57:54 2007 -0400 USB: remove USB_QUIRK_NO_AUTOSUSPEND This patch (as995) cleans up the remains of the former NO_AUTOSUSPEND quirk. Since autosuspend is disabled by default, we will let userspace worry about which devices can safely be suspended. Thus the lengthy series of quirk entries is no longer needed, and neither is the quirk ID. I suppose someone might eventually run across a hub that can't be suspended; let's ignore the possibility for now. The patch also cleans up the hasty way in which autosuspend gets disabled. Setting udev->autosuspend_delay to -1 wasn't quite right, because the value is always supposed to be a multiple of HZ. It's better to leave the delay value alone and set autosuspend_disabled, which is what the quirk routine used to do. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7108f28465a0a37d5afc05c5ad788938423b74a7 Author: Alan Stern Date: Thu Sep 20 12:37:50 2007 -0400 USB: don't propagate FREEZE or PRETHAW suspends This patch (as992) fixes a recently-added bug. During a FREEZE or PRETHAW suspend notification, non-root devices don't actually get suspended. So we shouldn't tell their parent hubs that they did. (This code path used to be skipped over, until the FREEZE/PRETHAW test got moved out of usb_suspend_both() into generic_suspend().) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 393e5511a5f58e82b88589f1dd2464f6b661df06 Author: Alan Stern Date: Tue Sep 18 10:09:32 2007 -0400 USB: unusual_devs update for Nokia 6131 This patch (as991) updates the unusual_devs entry for the Nokia 6131 phone. As reported by Juan Ignacio Cherrutti, there's new firmware available but it still has the same old transfer-size limit. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 403fae78d7388876b96fbe30ccf2cb551c49ae5a Author: jidong xiao Date: Fri Sep 14 00:08:51 2007 +0800 USB: fix limited_power setting mistake in hub.c This patch (jx001) fixes a variable assignment mistake in hub driver. limited_power should be set to 0 if the hub is self-powered,and 1 if the hub is bus-powered. However, the effect of the code was exactly opposite to the spec's statement for the Local Power Source field. The spec says, this field is 1 meaning Local power supply lost while this field is 0 indicating Local power supply good.(This statement is very confusing.) So this patch switchs the 0 and 1. Signed-off-by: Jason Xiao Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ed6590a861a16276db34ee626375fa79f3369ac3 Author: Oliver Neukum Date: Mon Sep 17 20:15:53 2007 +0200 USB: fix double frees in error code paths of ipaq driver the error code paths can be enter with buffers to freed buffers. Serial core would do a kfree() on memory already freed. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 0e66fb3492442faa17fc7f27a3eba35b3c811e38 Author: Adrian Bunk Date: Tue Sep 11 19:10:21 2007 +0200 USB: always visit drivers/usb/misc/ Currently, every driver under drivers/usb/misc/ also has to be listed in drivers/usb/Makefile. This has been forgotten more than once, and this patch changes drivers/usb/Makefile to simply always visit drivers/usb/misc/ when building the USB code. Signed-off-by: Adrian Bunk Cc: Toralf Förster Acked-by: Satyam Sharma Signed-off-by: Greg Kroah-Hartman commit f7294055a7a5bf1ea7da16dffb0cb0f7a282c04b Author: Mark Gross Date: Mon Sep 24 09:28:14 2007 -0700 USB: usb-skeleton leaking locks on open This weekend I was hacking around with a trivial USB driver for talking to the boot load firmware of a USB Bit Whacker. It's running the MicroChip Pic18 boot loader firmware and I'm putting together a flash program for writing new FW to the thing. Anyway in my use of the usb-skeleton.c as my starting point I discovered my test program was getting hung up after attempting to write a buffer. The application and driver where hung in a way that required me to reboot to get it to clean up so I could try again. It turned out the code path through skel_open can grap the driver's io_mutex lock and forget to release it. The following patch fixes the problem for me. Signed-off-by: Mark Gross Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 6840d2555afd66290be7a39b400b5e66a840b82d Author: Alan Stern Date: Mon Sep 10 11:34:26 2007 -0400 USB: flush outstanding URBs when suspending This patch (as989) makes usbcore flush all outstanding URBs for each device as the device is suspended. This will be true even when CONFIG_USB_SUSPEND is not enabled. In addition, an extra can_submit flag is added to the usb_device structure. That flag will be turned off whenever a suspend request has been received for the device, even if the device isn't actually suspended because CONFIG_USB_SUSPEND isn't set. It's no longer necessary to check for the device state being equal to USB_STATE_SUSPENDED during URB submission; that check can be replaced by a check of the can_submit flag. This also permits us to remove some questionable references to the deprecated power.power_state field. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 95cf82f99cfbd697c15572c444bd4f54f19745b0 Author: Alan Stern Date: Mon Sep 10 11:33:05 2007 -0400 USB: break apart flush_endpoint and disable_endpoint This patch (as988) breaks usb_hcd_endpoint_disable() apart into two routines. The first, usb_hcd_flush_endpoint() does the -ESHUTDOWN unlinking of all URBs in the endpoint's queue and waits for them to complete. The second, usb_hcd_disable_endpoint() -- renamed for better grammatical style -- merely calls the HCD's endpoint_disable method. The changeover is easy because the routine currently has only one caller. This separation of function will be exploited in the following patch: When a device is suspended, the core will be able to cancel all outstanding URBs for that device while leaving the HCD's endpoint-related data structures intact for later. As an added benefit, HCDs no longer need to check for existing URBs in their endpoint_disable methods. It is now guaranteed that there will be none. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5ad4f71e2f19a06f738463da1f09ea7fda3a3db2 Author: Alan Stern Date: Mon Sep 10 11:31:43 2007 -0400 USB: move decision to ignore FREEZE events This patch (as987) changes the way FREEZE and PRETHAW suspend events are handled in usbcore. The decision about whether or not to ignore them for non-root devices is pushed down into the USB-device driver, instead of being made in the core code. This is appropriate, since devices exported to a virtualized guest or over a network may indeed need to handle these types of suspend, even though normal devices don't. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7477120e34eef65a530cfb3fea5fe612c89669e5 Author: Alan Stern Date: Mon Sep 10 11:35:14 2007 -0400 USB: Get rid of annoying endpoint-release message This patch (as990) removes an annoying debugging message. Nobody really cares when endpoint pseudo-devices are released. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1d3ee41e9549609a6151216a0bcb06b758a64b6b Author: Auke Kok Date: Mon Aug 27 16:16:13 2007 -0700 USB: AMD5536: use pdev->revision Signed-off-by: Auke Kok Cc: Thomas Dahlmann Signed-off-by: Greg Kroah-Hartman commit e6d42f0e962390e956545aa282efb05a9d6a41d1 Author: Satyam Sharma Date: Mon Sep 3 01:37:31 2007 +0530 USB: sisusbvga: Fix bug drivers/usb/misc/sisusbvga/sisusb.c: In function sisusb_open drivers/usb/misc/sisusbvga/sisusb.c:2444: warning: sisusb is used uninitialized in this function is a genuine bug (which will cause oops). We cannot use "sisusb" in error path for (!interface), because sisusb will itself be derived from "interface" later. Signed-off-by: Satyam Sharma Signed-off-by: Greg Kroah-Hartman commit 5adceac5da3d353dd1318d0482cab94a79472adf Author: Oliver Neukum Date: Fri Aug 17 14:01:38 2007 +0200 USB: fix errornous assumption in the usb serial framework revealed by iuu_phoenix the iuu_phoenix driver submits another URB from a completion handler. This dictates a certain order of calls to usb_kill_urb() in kill_traffic(). As other drivers may do it the other way round, we need to use both orders in kill_traffic(). This patch does so and should be merged before iuu_phoenix is merged. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit b5b80f2b20c833f979060cf48ae3ee6fbfa552be Author: Matthias Kaehlcke Date: Thu Sep 6 23:18:15 2007 +0200 USB: ELAN U132 Host Controller Driver: convert sw_lock to mutex The ELAN U132 Host Controller Driver uses the semaphore sw_lock as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit d853d872c14b9adc4adad29e56cd378b291f86e0 Author: Johann Wilhelm Date: Wed Sep 5 13:49:29 2007 +0200 USB: usb-storage: Initialize Huawei E220 properly This is a reworked version of this patch: http://www.mail-archive.com/linux-usb-devel%40lists.sourceforge.net/msg55094/activate_huawei_dev.patch That properly initializes the HUAWEI E220 devices into multi-port mode. Signed-off-by: Johann Wilhelm Signed-off-by: Greg Kroah-Hartman commit 63f991b2871bdb1431e8ff62cae2b7b94b4e5b0c Author: Alan Stern Date: Tue Sep 4 09:53:24 2007 -0400 USB: fix location of statement label in dummy-hcd This patch (as984) fixes a rather elementary mistake in dummy_hcd. The new statement label should come before the spin_unlock_irqrestore, not after it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e015268d2fcfcaef70a1ec535e6381f75aafbf81 Author: Alan Stern Date: Fri Aug 24 15:42:52 2007 -0400 USB: remove traces of urb->status from usbcore This patch (as981) removes the remaining nontrivial usages of urb->status from usbcore. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1431d2a44ccf68a547094976f363f94177ab00c6 Author: Alan Stern Date: Fri Aug 24 15:42:39 2007 -0400 USB: get rid of urb->lock Now that urb->status isn't used, urb->lock doesn't protect anything. This patch (as980) removes it and replaces it with a private mutex in the one remaining place it was still used: usb_kill_urb. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4a00027dcb088bf90fa8fb14a7e8ba3506d78f22 Author: Alan Stern Date: Fri Aug 24 15:42:24 2007 -0400 USB: Eliminate urb->status usage! This patch (as979) removes the last vestiges of urb->status from the host controller drivers and the root-hub emulator. Now the field doesn't get set until just before the URB's completion routine is called. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas CC: Yoshihiro Shimoda CC: Tony Olech Signed-off-by: Greg Kroah-Hartman commit 9347d51c52afcf1a77d2104f162cf8a085624c83 Author: Alan Stern Date: Fri Aug 24 15:41:41 2007 -0400 USB: reorganize urb->status use in usbmon This patch (as978) reorganizes the way usbmon uses urb->status. It now accepts the status value as an argument. Signed-off-by: Alan Stern Acked-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 888fda47051716765175d0008450126c837adb32 Author: Alan Stern Date: Fri Aug 24 15:41:18 2007 -0400 USB: reorganize urb->status use in r8a66597-hcd This patch (as977) reorganizes the way r8a66597-hcd sets urb->status. It now keeps the information in a local variable until the last moment. Parts of this patch were written by Yoshihiro Shimoda. Signed-off-by: Alan Stern CC: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 65e51098d9094c7e840b6d6291867b95538d9442 Author: Alan Stern Date: Fri Aug 24 15:40:47 2007 -0400 USB: reorganize urb->status use in sl811-hcd This patch (as976) reorganizes the way sl811-hcd sets urb->status. It now keeps the information in a local variable until the last moment. The patch also improves the handling of faults during the status stage of a control transfer, since it no longer needs to retain the error information from the earlier stages. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 55d8496837cf124f68656e4242a5e20eb592fd54 Author: Alan Stern Date: Fri Aug 24 15:40:34 2007 -0400 USB: reorganize urb->status use in ohci-hcd This patch (as975) reorganizes the way ohci-hcd sets urb->status. It now keeps the information in a local variable until the last moment. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 14c04c0f88f228fee1f412be91d6edcb935c78aa Author: Alan Stern Date: Fri Aug 24 15:40:19 2007 -0400 USB: reorganize urb->status use in ehci-hcd This patch (as974) reorganizes the way ehci-hcd sets urb->status. It now keeps the information in a local variable until the last moment. The patch also simplifies the handling of -EREMOTEIO, since the only use of that code is to set the do_status flag. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d2f110c51eec853c50f68cf068888a77551c8d3 Author: Alan Stern Date: Fri Aug 24 15:40:10 2007 -0400 USB: reorganize urb->status use in dummy-hcd This patch (as973) reorganizes the way dummy-hcd sets urb->status. It now keeps the information in a local variable until the last moment. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e7beb667842ad0f6ec95a22e7c88e71dfbd60649 Author: Andreas Loibl Date: Fri Aug 24 01:51:11 2007 +0200 usb: serial/pl2303: support for BenQ Siemens Mobile Phone EF81 This patch adds support for the BenQ Mobile Phone EF81 to pl2303 Signed-off-by: Andreas Loibl Signed-off-by: Greg Kroah-Hartman commit b84d2bf07ffb962733ba56307c61539a301a742e Author: Jesper Juhl Date: Fri Aug 24 02:35:14 2007 +0200 usb: avoid redundant cast of kmalloc() return value in OTi-6858 driver In drivers/usb/serial/oti6858.c::pl2303_buf_alloc() the return value of kmalloc() is being cast to "struct pl2303_buf *", but that need not be done here since kmalloc() returns "void *". Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 092a212e8e3eb49ab7360d652f457d0a360d5383 Author: Paolo 'Blaisorblade' Giarrusso Date: Fri Aug 24 12:19:22 2007 +0200 USB: usbmon doc update - mention new wildcard ('0') bus Update usbmon documentation, mentioning the "zero" (wildcard) bus. Possibly, in my first hunk, the 'either ... or ...' should be rephrased a bit to be expressed better. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Pete Zaitcev Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce0d9325b19555f05b08cbb1ea4c2393eec188ec Author: Roman Kagan Date: Fri Aug 24 20:22:52 2007 +0400 usb-serial: show port number in sysfs Some usb-serial devices (e.g. certain Edgeport models) have more than one serial port on the same USB device/interface. Currently the only way to distinguish these ports in userspace is by their minor device number: the driver makes them consecutive and in stable order. However, for the purpose of stable naming with udev this is insufficient: when udev handles the ADD event for one of the ports it doesn't know what minor number the other one has. To make stable naming easier, export the port number via sysfs. Signed-off-by: Roman Kagan Signed-off-by: Dmitry Guryanov Signed-off-by: Greg Kroah-Hartman commit fdf99c9ec10cb9cd44be3ac0bd007a49ac6dc751 Author: Greg Kroah-Hartman Date: Thu Aug 23 15:55:34 2007 -0700 USB: fix memory leak in berry_charge driver This fixes a small memory leak that happens every time the device is plugged in. Signed-off-by: Greg Kroah-Hartman commit 12943f097e5a4a0550f52f98ab8f476435e2ce15 Author: Alan Stern Date: Fri Aug 24 16:27:50 2007 -0400 USB: less-restrictive command checking in g-file-storage This patch (as983) makes a test for minimum-length command sizes in g_file_storage less restrictive. It doesn't matter because commands with bad lengths will be detected later on anyway, and doing it like this makes the driver interoperable with certain buggy hosts such as the JVC HiFi (reported by Samuel Hangouet). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 94d0f7eac77a84da2cee41b8038796891f75f09e Author: Alan Cox Date: Wed Aug 22 23:09:16 2007 +0100 USB: kobil_sct: Rework driver No hardware but this driver is currently totally broken so we can't make it much worse. Remove all tbe broken invalid termios handling and replace it with a proper set_termios method. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c4e41562e09961df6ba72b49269793d21c0034dc Author: Alan Cox Date: Wed Aug 22 23:06:48 2007 +0100 USB: cp2101: Coding style police Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6e8fe43b26085a64327d1cbb751ab895f3ad3f5d Author: Alan Stern Date: Wed Aug 22 13:08:40 2007 -0400 USB: avoid the donelist after an error in ohci-hcd This patch (as972) changes ohci-hcd so that after an error occurs, the remaining TDs for the URB will be skipped over entirely instead of going through the donelist. This enables the driver to give back the URB as soon as the error is detected, avoiding the need to store the error status in urb->status. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1f5a3d0f34fd5719081c6b8f3dbbcbe328d4da31 Author: Alan Stern Date: Wed Aug 22 13:06:53 2007 -0400 USB: fix mistake in usb_hcd_giveback_urb This patch (as971) fixes a small mistake: The URB's completion status needs to be adjusted before the URB is passed to usmon_urb_complete(), not afterward. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ed6e52829c113ca18f042ac55cc77b1b90745eab Author: Andrew M. Bishop Date: Tue Aug 21 19:08:56 2007 +0100 USB: ftdi_sio: Handle FT232RL devices like FT232BM devices Handle the FT232RL device type in exactly the same way as FT232BM devices (FT232RL detection was added around kernel 2.6.20 but not code for handling it). Signed-off-by: Andrew M. Bishop Signed-off-by: Greg Kroah-Hartman commit eb23105462304fd35571fd0cab1de7aec79a9ec5 Author: Alan Stern Date: Tue Aug 21 15:40:36 2007 -0400 USB: add urb->unlinked field This patch (as970) adds a new urb->unlinked field, which is used to store the status of unlinked URBs since we can't use urb->status for that purpose any more. To help simplify the HCDs, usbcore will check urb->unlinked before calling the completion handler; if the value is set it will automatically override the status reported by the HCD. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas CC: Yoshihiro Shimoda CC: Tony Olech Signed-off-by: Greg Kroah-Hartman commit b0d9efba3ec53468984aecef8eeaf079089f2e5a Author: Alan Stern Date: Tue Aug 21 15:39:21 2007 -0400 USB: centralize -EREMOTEIO handling This patch (as969) continues the ongoing changes to the way HCDs report URB statuses. The programming interface has been simplified by making usbcore responsible for clearing urb->hcpriv and for setting -EREMOTEIO status when an URB with the URB_SHORT_NOT_OK flag ends up as a short transfer. By moving the work out of the HCDs, this removes a fair amount of repeated code. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas CC: Yoshihiro Shimoda CC: Tony Olech Signed-off-by: Greg Kroah-Hartman commit ee7d1f3f0c32d8abe9627aa73dc62ee5bf2daf7f Author: Alan Stern Date: Tue Aug 21 15:37:50 2007 -0400 USB: remove Iso status value in uhci-hcd This patch (968) changes the way uhci-hcd reports status for Isochronous URBs. Until now urb->status has been set to the last detected error code. But other HCDs don't do this; they leave the status set to 0 and report errors only in the individual iso packet descriptors. So this patch removes the extra computation and makes uhci-hcd behave like the others. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit dfd1e53777afe1050e3a0a3f0dd063a64242b818 Author: Alan Stern Date: Tue Aug 21 15:36:52 2007 -0400 USB: minor fixes for r8a66597 driver This patch (as967) makes a few relatively minor changes to the r8a66597 driver: finish_request() does nothing but call done(), so merge the two routines. Detect and report -EOVERFLOW errors. Fix the calculation that checks for short packets. Signed-off-by: Alan Stern CC: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit af1c51fcb2aea23ec2dfe73b7d66515d1622e689 Author: Marcelo Tosatti Date: Mon Aug 20 18:13:27 2007 -0700 USB: EHCI restart speedup It is not necessary to powerdown the ports on ehci_pci_reinit() when the chip reset already did that. Removing this saves 20ms during restart after poweroff paths (which OLPC uses a lot). To ensure driver startup then behaves consistently, force a reset during driver startup. (Not doing this was an accident of some previous changes to the init sequence.) Make the corresponding change in the PS3 support. It's not clear what ehci-fsl should do here; it has similar code to the PS3. Signed-off-by: Marcelo Tosatti Signed-off-by: David Brownell Cc: Acked-by: Geoff Levand Signed-off-by: Greg Kroah-Hartman commit 0eb0226c9d819fd2af31ae4fc52bbca81c215369 Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:19 2007 +0200 UEAGLE: Cosmetic Update copyrights and remove not necessary warning (ueagle-atm works well on suspend/resume). Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 337427f91f844ebe84442dc0b5e24577a8139600 Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:14 2007 +0200 UEAGLE: Do not sleep when device is disconnected Do not sleep in kernel thread when device is disconnected, this make faster suspending and module unloading. Use one wait queue for sleeping. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 04ea02f5746a2e01a38edae2de3eafc40eac17aa Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:10 2007 +0200 UEAGLE: Avoid keyboard driver blocking Ueagle-atm driver load DSP firmware in function, which is running from common workqueue. In some (error) circumstances loading firmware may sleep for long periods (even 60 seconds, depending on timeout). This block keyboard driver, which also use common workqueue. To fix problem use custom workqueue in ueagle-atm. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 503add467d4dd2355fe16ebffa7f6d5e9fcd10a8 Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:06 2007 +0200 UEAGLE: Allow user to choose input interface alternate setting Let's user control how much USB bus bandwidth will be reserved by ueagle-atm device. This make possible to share bus with other devices when ueagle-atm driver works in isochronous mode. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit 603cf6087c5f3ee054bb257195b023848d26d76f Author: Stanislaw Gruszka Date: Mon Aug 20 23:21:01 2007 +0200 UEAGLE: Devolo and Elsa chipsets support Support for Devolo and Elsa chipsets. These chipsets have no information about ADSL annex (line type) encoded in USB descriptors. Driver try to get this information from USB VID and PID or it can be explicitly set by the user through module parameter. Thanks to Johann Hanne, whose make most of this patch. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit c8e463796c7ae6d8dda39b0c7eb3d627600ffe2e Author: Stanislaw Gruszka Date: Mon Aug 20 23:23:12 2007 +0200 UEAGLE: Eagle IV chipset support Add support to newest chipset of eagle family. It is compatible with older chipsets at USB level. However DSP firmware and CMVs (Configuration and Management Variables) have different format of data and are sent/received by different way. Signed-off-by: Stanislaw Gruszka Signed-off-by: Greg Kroah-Hartman commit e39ab592f182cd0be48acc4ad49f93ef4100017c Author: Alan Stern Date: Thu Aug 16 16:17:49 2007 -0400 USB: remove unnecessary tests in isp116x and sl811 This patch (as962) cleans up some code I forgot to remove earlier in the isp116x and sl811 HCDs. There is no longer any need to check for unlink-during-submit; it can't happen since the endpoint queues are now under the protection of the HCD-private spinlock. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas Signed-off-by: Greg Kroah-Hartman commit f311cf58bd04adc683067f8d66daa5925b80f082 Author: Adrian Bunk Date: Tue Aug 14 23:22:50 2007 +0200 USB: ark3116.c: fix check-after-use The Coverity checker spotted that we'd have already oops'ed if one of these was NULL. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit f6c1ceaa3844b7a7787816cc97d15b9fea8b0909 Author: Oliver Neukum Date: Thu Aug 16 16:02:08 2007 +0200 USB: missing test for ESHUTDOWN in adutux driver this driver lacks a test for unlink due to ESHUTDOWN Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 60b69a966fddeb3bdd79712d52b34b8696a27f88 Author: Mariusz Kozlowski Date: Fri Aug 10 14:53:37 2007 -0700 usb: remove redundant memset from amd5536udc Remove redundant memset() call from udc_pci_probe(). No functional change. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5280d6083a77cc06a8c8360a2c461fd12d780fb8 Author: Mariusz Kozlowski Date: Fri Aug 10 14:53:35 2007 -0700 USB: ftdi-elan.c: kmalloc + memset conversion to kzalloc drivers/usb/misc/ftdi-elan.c | 121253 -> 121196 (-57 bytes) drivers/usb/misc/ftdi-elan.o | 209425 -> 209265 (-160 bytes) Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b3aceb2bab988e514e65dd37f385221a095ad477 Author: Andrew Morton Date: Fri Aug 10 14:53:35 2007 -0700 USB: mct_u232-convert-to-proper-speed-handling-api-fix Make Pete happy Cc: Alan Cox Cc: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3f6ff6ef044bc7078daa01412c911015d6cbaa39 Author: Alan Cox Date: Fri Aug 10 14:53:34 2007 -0700 USB: kl5kusb105: witch to new speed API Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 42cb967fd01b1f50374fdfa811f86db103eea532 Author: Pete Zaitcev Date: Tue Aug 14 13:19:16 2007 -0700 usblp: Fix a double kfree If submit fails, slab hits a BUG() because of a double kfree. The today's lesson is, you cannot just slap USB_FREE_BUFFER on code without adjusting the error paths. The patch is made bigger by opportunistic refactoring. Signed-Off-By: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit c36d54ab380fb8edeaa22776af869c64bfda43bd Author: Pete Zaitcev Date: Tue Aug 14 00:42:53 2007 -0700 usbmon: Smooth the core code Two things: - mbus can be NULL (in case of bus removal while reader is reading) - Remove a useless assignment Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit cdd5a8fd24f5be43417a25c6feb8e7ebdce63098 Author: Pete Zaitcev Date: Tue Aug 14 00:37:51 2007 -0700 usbmon: Drop DMA mapping for setup packet Setup packet must be visible in virtual space. There's absolutely no good reason to implement any kind of zero-copy transfer of 8 bytes, and the documentation in usb.h is explicit about it. So, drop DMA remapping. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 30c7431de3631d6a5482a87b7c2453b937e8aa51 Author: Pete Zaitcev Date: Tue Aug 14 00:33:40 2007 -0700 usbmon: Update pipe removal to suit my taste This is a set of small updates to Alan's work to make the code more to my liking. Mostly premature optimizations, but also direction of control transfers in the binary interface was always out. Signed-off-by: Pete Zaitcev Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 283face86b002e670053e9189604852ccb81d357 Author: Pete Zaitcev Date: Mon Aug 13 22:54:29 2007 -0700 usblp: Cosmetics This is a small bunch of cosmetic fixes: - Timeout is not a write timeout anymore, rename - Condition in poll was confusingly backwards, invert and simplify - The comment log gave a wrong impression of version 0.13, terminate it. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit fc401e697f8c00ad1178a6758e86e3881dfa3181 Author: Pete Zaitcev Date: Mon Aug 13 22:50:13 2007 -0700 usblp: mutex in usblp_check_status Add a mutex to protect the ->statusbuf. Not really an issue, because CUPS is single-threaded when it talks to the printer, but I feel safer this way. This should be deadlock-free, but I kept this as a separate patch in case someone ends running a git bisect. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 7b5cd5fefbe023625a7ff7604e8beb9a15a9efab Author: Felipe Balbi Date: Wed Aug 15 10:38:12 2007 -0400 USB: SisUSB2VGA: Convert printk to dev_* macros This patch convert printk entries to dev_* macros, this provide better debugging and better readability to the code. Signed-off-by: Felipe Balbi Cc: Thomas Signed-off-by: Greg Kroah-Hartman commit ecb8b190bcf49e67a6bd955340ecc07d243b6efa Author: Felipe Balbi Date: Fri Aug 10 16:04:56 2007 -0400 USB: SisUSB2VGA: Lindent drivers/usb/misc/sisusbvga/sisusb_struct.h Better indentation Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 7c59901421e22cff3fa9b8ea83e7a2fe37951497 Author: Felipe Balbi Date: Fri Aug 10 09:34:32 2007 -0400 USB: SisUSB2VGA: Lindent drivers/usb/misc/sisusbvga/sisusb_init.h Better indentation Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 22b2c526e70741ce8a244cab339fe0f56ace8cb6 Author: Felipe Balbi Date: Fri Aug 10 09:34:31 2007 -0400 USB: SisUSB2VGA: Lindent drivers/usb/misc/sisusbvga/sisusb_init.c Better indentation Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 1c1772a2609a16b3b590f8390a337dbe25859118 Author: Felipe Balbi Date: Fri Aug 10 09:34:29 2007 -0400 USB: SisUSB2VGA: Lindent drivers/usb/misc/sisusbvga/sisusb.h Better indentation Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 2acbd647315017c07537287857ea2db36c70eacf Author: Felipe Balbi Date: Fri Aug 10 09:34:27 2007 -0400 USB: SisUSB2VGA: Mis-spelled word Trivial fix Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 9dedd36778f9d9bd043df27c8fc62088ce93813f Author: Felipe Balbi Date: Fri Aug 10 09:34:26 2007 -0400 USB: SisUSB2VGA: Remove if 0'ed code Unused code should be removed. We don't need to increase the size of the file with dead code inside if 0 statements. Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit ed86d97068c7d53561d3e9b59db6c6b11f6091c7 Author: Felipe Balbi Date: Fri Aug 10 09:34:24 2007 -0400 USB: SisUSB2VGA: Whitespace Cleanups This patches clean some trailing whitespaces in sisusb2vga driver. Signed-off-by: Felipe Balbi Cc: Thomas Winischhofer Signed-off-by: Greg Kroah-Hartman commit 79a7d9ee1a2e8b8dc44dd217f07496911850ec0e Author: Alan Stern Date: Wed Aug 8 17:10:11 2007 -0400 USB: cleanups for g_file_storage This patch (as957) makes some minor cleanups to the g_file_storage driver: Update the copyright date and version string; Uniformize the logging macros for the gadget and the LUNs; Remove "inline" markers -- nowadays we rely on the compiler to decide which routines are best inlined; Use the print_hex_dump() library routines; Remove some unnecessary assignments within conditionals and fix some close-brace indenting levels; Fix some column-80 violations. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d74d4a69dc1cc7ddc0eabb9c9f1e45005e2984eb Author: Alan Stern Date: Wed Aug 8 11:59:18 2007 -0400 USB: don't touch sysfs stuff when altsetting is unchanged This patch (as955) prevents the interface-related sysfs files and endpoint pseudo-devices from being deleted and recreated when a call to usb_set_interface() specifies the current altsetting. Since the altsetting doesn't get changed, there's no need to do anything. Furthermore, avoiding changes to the endpoint devices will be necessary in the future. This code is called from usb_reset_device(), which gets invoked for reset-resume processing, but upcoming changes to the PM and driver cores will make it impossible to register devices while a suspend/resume transition is in progress. Since we don't need to re-register those endpoint devices anyhow, it's best to skip the whole thing. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e9df41c5c5899259541dc928872cad4d07b82076 Author: Alan Stern Date: Wed Aug 8 11:48:02 2007 -0400 USB: make HCDs responsible for managing endpoint queues This patch (as954) implements a suggestion of David Brownell's. Now the host controller drivers are responsible for linking and unlinking URBs to/from their endpoint queues. This eliminates the possiblity of strange situations where usbcore thinks an URB is linked but the HCD thinks it isn't. It also means HCDs no longer have to check for URBs being dequeued before they were fully enqueued. In addition to the core changes, this requires changing every host controller driver and the root-hub URB handler. For the most part the required changes are fairly small; drivers have to call usb_hcd_link_urb_to_ep() in their urb_enqueue method, usb_hcd_check_unlink_urb() in their urb_dequeue method, and usb_hcd_unlink_urb_from_ep() before giving URBs back. A few HCDs make matters more complicated by the way they split up the flow of control. In addition some method interfaces get changed. The endpoint argument for urb_enqueue is now redundant so it is removed. The unlink status is required by usb_hcd_check_unlink_urb(), so it has been added to urb_dequeue. Signed-off-by: Alan Stern CC: David Brownell CC: Olav Kongas CC: Tony Olech CC: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit b0e396e3097ce4914c643bc3f0c2fe0098f551eb Author: Greg Kroah-Hartman Date: Thu Aug 2 22:44:27 2007 -0600 USB: make usb_release_interface static No one else calls it, this makes sparse happy. Signed-off-by: Greg Kroah-Hartman commit b5ea060f1e19c6a3f409d3472c723da4517547b8 Author: Greg Kroah-Hartman Date: Thu Aug 2 22:44:27 2007 -0600 USB: rename choose_configuration As it is global, give it a usb specific name in the global namespace. Cc: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 732bb9ee8195053a7dc00b9eec7be48891ad8668 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:08 2007 -0700 usb: document device authorization Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit e03f2e8a530e0ed46af43093e23a70b7c7215263 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:07 2007 -0700 usb: hook up device authorization to sysfs Makes it possible to control the authorization of USB devices through sysfs's /sys/usb/devices/*/authorize. Update: per Adrian Bunk's suggestion, make dev_attr_authorized_default static Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 93993a0a3e528357ae4b9b0eb82fd4b428ebbf64 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:06 2007 -0700 usb: introduce usb_authorize/deauthorize() These USB API functions will do the full authorization/deauthorization to be used for a device. When authorized we effectively allow a configuration to be set. Reverse that when deauthorized. Effectively this means that we have to clean all the configuration descriptors on deauthorize and reload them when we authorized. We could do without throwing them out for wired devices, but for wireless, we can read them only after authenticating, and thus, when authorizing an authenticated device we would need to read them. So to simplify, always release them on deauthorize(), re-read them on authorize(). Also fix leak reported by Ragner Magalhaes; in usb_deauthorize_device(), bNumConfigurations was being set to zero before the for loop, and thus the different raw descriptors where never being freed. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit d9d16e8a92e385c9f57d2081b7aa737770a0a829 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:05 2007 -0700 usb: split usb_new_device for clarity and refactoring This patch takes hub.c:usb_new_device() and splits it in three parts: - The actual actions of adding a new device (quirk detection, announcement and autoresume tracking) - Actual discovery and probing of the configuration and interfaces (split into __usb_configure_device()) - Configuration of the On-the-go parameters (split into __usb_configure_device_otg()). The fundamental reasons for doing this split are clarity (smaller functions are easier to maintain) and to allow part of the code to be reused when authorizing devices to connect. When a device is authorized connection, we need to run through the hoops we didn't run when it was connected but not authorized, which is basically parsing the configurations and probing them. usb_configure_device() will do that for us. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit f8a374648b58e5cfa14447eca866aed14a4fbfa8 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:04 2007 -0700 usb: usb_generic_probe() obeys authorization If called and the device is not authorized to be used, then we won't choose a configuration (as they are not a concept that exists for an unauthorized device). However, the device is added to the system. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 72230abb21349cda54d6cce0d6fd325c023b958e Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:03 2007 -0700 usb: usb_probe_interface() obeys authorization If called and the device is not authorized to be used, it won't configure the interface and print a message saying so. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 1145065cd0434b0fd5cd7c0efe0f1438fb154ed0 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:02 2007 -0700 usb: usb_get_configuration() obeys authorization If called and the device is not authorized to be used, then we don't allow reading the configurations. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 16bbab2966309ae82cda3d378964c56096d4858c Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:01 2007 -0700 usb: usb_set_configuration() obeys authorization Will refuse to configure a non-authorized device. Update: simplified if statement--thanks to Ragner Magalhaes for the heads up. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit d7d07255d3f5607802b0af29e11448d18e9ed558 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:34:00 2007 -0700 usb: initialize authorization and wusb bits in USB devices Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit eb579f5811ddbc052c8d6b3bba38dd4e5148cf7b Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:33:59 2007 -0700 usb: cleanup usb_register_bus() and hook up sysfs group This path cleans the exit paths of usb_register_bus() [to use a goto schema], maximum line length (keeping it under ~75). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 5234ce1b02ae2574098ebe9839dcf241076a9367 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:33:58 2007 -0700 usb: add the concept of default authorization to USB hosts This introduces /sys/bus/devices/usb*/authorized_default; it dictates what is going to be the default authorization state for devices connected to the host. User space can set that using the sysfs file. We hook to the root hub instead of to the device controller as it is quite easy to get to it in sysfs from the device structure (device 5-4.3 is usb5) vs. backtracking to the controller device. By default it is set to be 'authorized' (!0) for normal, wired USB devices and 'unauthorized' (0) for Wireless USB devices. As suggested by Adrian Bunk, make authorized_default static Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit da04b7a42711c1d1d8d9fbc2565cdd83efcfee40 Author: Inaky Perez-Gonzalez Date: Tue Jul 31 20:33:57 2007 -0700 usb: introduce usb_device authorization bits This just modifies 'struct usb_device' to contain the 'authorized' bit. It also adds a 'wusb' bit. This is needed because nonauthorized (and thus non-authenticated) wusb devices will fail certain kind of simple requests (such as string descriptors). By knowing the device is WUSB, we just avoid them. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit ca2bdf4bcc91818f03e009b87c348609c2578d1d Author: David Brownell Date: Thu Aug 2 12:20:05 2007 -0700 USB: gadget: gadget zero cleanups Clean up gadget zero, using newer APIs and conventions: - gadget_is_dualspeed() and gadget_is_otg() ... #ifdef removal - Remove many now-needless #includes - Use the VERBOSE_DEBUG convention - Some whitespace fixes. - A few comment updates - Plus a few other small cleanups: don't pass gfp_t around when it's always going to be GFP_ATOMIC, and do static init of serial number. Also go to straight GPL; there's no real point in dual licensing this stuff any more. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2e806f67cc570d25395469a0ded0df8ffbd4d82f Author: David Brownell Date: Thu Aug 2 00:03:39 2007 -0700 USB: gadget: file storage gadget cleanups Clean up the file storage gadget, using newer APIs and conventions: - gadget_is_dualspeed() and gadget_is_otg() ... #ifdef removal - Remove many now-needless #includes - Use the DEBUG (from Kconfig+Makefile) and VERBOSE_DEBUG conventions. - Remove some "sparse" warnings (it still dislikes the __user annotations) This gave only a minor object code shrinkage. Signed-off-by: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 51a0e85cd9b47e2e6332b40ea486cc1659d8a3ec Author: David Brownell Date: Thu Aug 2 00:02:47 2007 -0700 USB: gadget: serial gadget cleanups Clean up the serial gadget, using newer APIs and conventions: - gadget_is_dualspeed() and gadget_is_otg() ... #ifdef removal - Remove many now-needless #includes - Use the DEBUG and VERBOSE_DEBUG conventions; turned up a bug in the original debug messaging - Various whitespace fixes. This gave only a minor object code shrinkage, but the source looks much cleaner in various places. Signed-off-by: David Brownell Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 8c07021635a10c9a4969cbff0f2325a94c860f77 Author: David Brownell Date: Thu Aug 2 00:01:27 2007 -0700 USB: gadget: gmidi cleanups Clean up the midi gadget, using newer APIs and conventions: - Remove many now-needless #includes - Use the DEBUG (from Kconfig+Makefile) and VERBOSE_DEBUG conventions. - Whitespace fixes There should be no effect on object code size. Signed-off-by: David Brownell Cc: Ben Williamson Signed-off-by: Greg Kroah-Hartman commit 0cf4f2de0a0f4100795f38ef894d4910678c74f8 Author: David Brownell Date: Thu Aug 2 00:00:38 2007 -0700 USB: gadget: ethernet gadget cleanups, shrinkage Clean up the ethernet gadget, using newer APIs and conventions: - gadget_is_dualspeed() and gadget_is_otg() ... #ifdef removal - Remove many now-needless #includes - Use the VERBOSE_DEBUG convention - Minor whitespace fixes. - Fix a warning from "sparse". Surprisingly, this saved about 2K of code (16%) on a fullspeed-only ARMv4 platform. I'm bit puzzled by that (it's so much!), but approve of the result. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a4e3ef5597e26dad006544d38b9ab6ff42382b76 Author: David Brownell Date: Wed Aug 1 23:58:22 2007 -0700 USB: gadget: gadget_is_{dualspeed,otg} predicates and cleanup This adds two small inlines to the gadget stack, which will often evaluate to compile-time constants. That can help shrink object code and remove #ifdeffery. - gadget_is_dualspeed(), currently always a compile-time constant (depending on which controller is selected). - gadget_is_otg(), usually a compile time "false", but this is a runtime test if the platform enables OTG (since it's reasonable to populate boards with different USB sockets). It also updates two peripheral controller drivers to use these: - fsl_usb2_udc, mostly OTG-related bugfixes: non-OTG devices must follow the rules about drawing VBUS power, and OTG ones need to reject invalid SET_FEATURE requests. - omap_udc, just scrubbing a bit of #ifdeffery. And also gadgetfs, which lost some #ifdefs and moved to a more standard handling of DEBUG and VERBOSE_DEBUG. The main benefits come from patches which will follow. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit a1d534bb23e5c5c28fb6f6fb48588362df0907e8 Author: Nico Erfurth Date: Thu Aug 2 22:25:20 2007 +0200 USB: Add drivers/usb/misc/iowarrior.c to the Makefile This patch adds the new iowarrior module to the Makefile in drivers/usb. Currently the module isn't build unless another driver from usb/misc is selected. Signed-off-by: Nico Erfurth Signed-off-by: Greg Kroah-Hartman commit 9a9bf406df3ce238089d14f4cb41157ca56d8ad3 Author: Alan Stern Date: Thu Aug 2 15:06:54 2007 -0400 USB: separate out endpoint queue management and DMA mapping routines This patch (as953) separates out three key portions from usb_hcd_submit_urb(), usb_hcd_unlink_urb(), and usb_hcd_giveback_urb() and puts them in separate functions of their own. In the next patch, these functions will be called directly by host controller drivers while holding their private spinlocks, which will remove the possibility of some unpleasant races. The code responsible for mapping and unmapping DMA buffers is also placed into a couple of separate subroutines, for the sake of cleanliness and consistency. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9439eb94b5c374d5b02699f8897fc43aa3603701 Author: Alan Stern Date: Thu Aug 2 15:05:45 2007 -0400 USB: update spinlock usage for root-hub URBs This patch (as952) adjusts the spinlock usage in the root-hub emulation part of usbcore, to make it match more closely the pattern used by regular host controller drivers. To wit: The private lock (usb_hcd_root_hub_lock) is held throughout the important parts, and it is dropped temporarily without re-enabling interrupts around the call to usb_hcd_giveback_urb(). A nice side effect is that the code now avoids calling local_irq_save(), thereby becoming more RT-friendly. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d617bc83ff48ebf0df253605529d8b3bef15773a Author: Alan Stern Date: Thu Aug 2 15:04:52 2007 -0400 USB: cleanup for previous patches This patch (as951) cleans up a few loose ends from earlier patches. Redundant checks for non-NULL urb->dev are removed, as are checks of urb->dev->bus (which can never be NULL). Conversely, a check for non-NULL urb->ep is added to the unlink paths. A homegrown round-down-to-power-of-2 loop is simplified by using the ilog2 routine. The comparison in usb_urb_dir_in() is made more transparent. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 18ea5d00d05fa6300606f0711748016c95fb26dc Author: Alan Stern Date: Mon Jul 30 17:10:36 2007 -0400 USB: avoid urb->pipe in usbmon This patch (as949) changes the usbmon driver to use the new urb->ep field rather than urb->pipe. Signed-off-by: Alan Stern Cc: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 93cf9b909efb773f74b5d87659d41f957ccbce7e Author: Alan Stern Date: Mon Jul 30 17:09:28 2007 -0400 USB: avoid urb->pipe in usbfs This patch (as948) removes most of the references to urb->pipe from the usbfs routines in devio.c. The one tricky aspect is in snoop_urb(), which can be called before the URB is submitted and which uses usb_urb_dir_in(). For this to work properly, the URB's direction flag must be set manually in proc_do_submiturb(). The patch also fixes a minor bug; the wValue, wIndex, and wLength fields were snooped in proc_do_submiturb() without conversion from le16 to CPU-byte-ordering. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4326ed0be93574dac5b5e475713015159108bd88 Author: Alan Stern Date: Mon Jul 30 17:08:43 2007 -0400 USB: address-0 handling during device initialization This patch (as947) changes the device initialization and enumeration code in hub.c; now udev->devnum will be set to 0 while the device is being accessed at address 0. Until now this wasn't needed because the address value was passed as part of urb->pipe; without that field the device address must be stored elsewhere. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5e60a16139c2a48b9876b0ff910671eee5fb32ec Author: Alan Stern Date: Mon Jul 30 17:07:21 2007 -0400 USB: avoid using urb->pipe in usbcore This patch (as946) eliminates many of the uses of urb->pipe in usbcore. Unfortunately there will have to be a significant API change, affecting all USB drivers, before we can remove it entirely. This patch contents itself with changing only the interface to usb_buffer_map_sg() and friends: The pipe argument is replaced with a direction flag. That can be done easily because those routines get used in only one place. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fea3409112a93581db18da4c4332c8bf8d68af6b Author: Alan Stern Date: Mon Jul 30 17:06:16 2007 -0400 USB: add direction bit to urb->transfer_flags This patch (as945) adds a bit to urb->transfer_flags for recording the direction of the URB. The bit is set/cleared automatically in usb_submit_urb() so drivers don't have to worry about it (although as a result, it isn't valid until the URB has been submitted). Inline routines are added for easily checking an URB's direction. They replace calls to usb_pipein in the DMA-mapping parts of hcd.c. For non-control endpoints, the direction is determined directly from the endpoint descriptor. However control endpoints are bi-directional; for them the direction is determined from the bRequestType byte and the wLength value in the setup packet. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit bdd016ba64d909329cb4bacacc8443901c00e112 Author: Alan Stern Date: Mon Jul 30 17:05:22 2007 -0400 USB: add ep->enable This patch (as944) adds an explicit "enabled" field to the usb_host_endpoint structure and uses it in place of the current mechanism. This is merely a time-space tradeoff; it makes checking whether URBs may be submitted to an endpoint simpler. The existing mechanism is efficient when converting urb->pipe to an endpoint pointer, but it's not so efficient when urb->ep is used instead. As a side effect, the procedure for enabling an endpoint is now a little more complicated. The ad-hoc inline code in usb.c and hub.c for enabling ep0 is now replaced with calls to usb_enable_endpoint, which is no longer static. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5b653c79c04c6b152b8dc7d18f8c8a7f77f4b235 Author: Alan Stern Date: Mon Jul 30 17:04:37 2007 -0400 USB: add urb->ep This patch (as943) prepares the way for eliminating urb->pipe by introducing an endpoint pointer into struct urb. For now urb->ep is set by usb_submit_urb() from the pipe value; eventually drivers will set it themselves and we will remove urb->pipe completely. The patch also adds new inline routines to retrieve an endpoint descriptor's number and transfer type, essentially as replacements for usb_pipeendpoint and usb_pipetype. usb_submit_urb(), usb_hcd_submit_urb(), and usb_hcd_unlink_urb() are converted to use the new field and new routines. Other parts of usbcore will be converted in later patches. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a96173af521a173f45d3a27fa24265081f12e978 Author: Adrian Bunk Date: Tue Jul 31 00:28:22 2007 +0200 USB: Storage: usbat_check_status(): fix check-after-use The Coverity checker spotted that we have already oops'ed if "us" was NULL. Since "us" can't be NULL in the only caller this patch removes the NULL check. Signed-off-by: Adrian Bunk Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit efc9052e01fd316b7bd6b108feff7689c927ebe9 Author: David Brownell Date: Wed Aug 1 16:04:53 2007 -0700 USB: usb_gadget.h whitespace fixes This just fixes some whitespace bugs in , mostly extraneous spaces where a single tab suffices. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9f705bde6e77c24a3ba737ac45abc0f8e619e92e Author: Robert P. J. Day Date: Wed Aug 1 18:16:55 2007 -0400 USB: Remove dead references to "SAFE_SERIAL" CONFIG variables. Remove the references to CONFIG_USBD_SAFE_SERIAL_{VENDOR,PRODUCT}, which aren't defined in any Kconfig file. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 89a0fd18a96eb1f8732714b575073f8a8d69c009 Author: Mike Nuss Date: Wed Aug 1 13:24:30 2007 -0700 USB: OHCI handles more ZFMicro quirks The ZF Micro OHCI controller exhibits unexpected behavior that seems to be related to high load. Under certain conditions, the controller will complete a TD, remove it from the endpoint's queue, and fail to add it to the donelist. This causes the endpoint to appear to stop responding. Worse, if the device is removed while in that state, OHCI will hang while waiting for the orphaned TD to complete. The situation is not recoverable without rebooting. This fix enhances the scope of the existing OHCI_QUIRK_ZFMICRO flag: 1. A watchdog routine periodically scans the OHCI structures to check for orphaned TDs. In these cases the TD is taken back from the controller and completed normally. 2. If a device is removed while the endpoint is hung but before the watchdog catches the situation, any outstanding TDs are taken back from the controller in the 'sanitize' phase. The ohci-hcd driver used to print "INTR_SF lossage" in this situation; this changes it to the universally accurate "ED unlink timeout". Other instances of this message presumably have different root causes. Both this Compaq quirk and a NEC quirk are now properly compiled out for non-PCI builds of this driver. Signed-off-by: Mike Nuss Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e8fa0ce65c58dbb60be279c4e33534650dcacc31 Author: Pete Zaitcev Date: Mon Jul 23 02:17:49 2007 -0700 usblp: Make use of URB_FREE_BUFFER Employ the new API URB_FREE_BUFFER that we've got. There was talk of a combined constructor for this case, but apparently it's not happening, so just set the flag explicitly for now. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 7f477358e2384c54b190cc3b6ce28277050a041b Author: Pete Zaitcev Date: Mon Jul 23 01:58:15 2007 -0700 usblp: Implement the ENOSPC convention This patch implements a mode when a printer returns ENOSPC when it runs out of paper. The default remains the same as before. An application which wishes to use this function has to enable it explicitly with an ioctl LPABORT. This is done on a request by our (Fedora) CUPS guy, Tim Waugh. The API is similar enough to the lp0's one that CUPS works with both (but see below), but it's has some differences. Most importantly, the abort mode is persistent in case of lp0: once tunelp was run your cat fill blow up until you reboot or run tunelp again. For usblp, I made it so the abort mode is only in effect as long as device is open. This way you can mix and match CUPS and cat(1) freely and nothing bad happens even if you run out of paper. It is also safer in the face of any unexpected crashes. It has to be noted that mixing LPABORT and O_NONBLOCK is not advised. It probably does not do what you want: instead of returning -ENOSPC it will always return -EAGAIN (because it would otherwise block while waiting for the paper). Applications which use O_NONBLOCK should continue to use LPGETSTATUS like before. Finally, CUPS actually requires patching to take full advantage of this. It has several components; those which invoke LPABORT work, but some of them need the ioctl added. This is completely compatible, you can mix old CUPS and new kernels or vice versa. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit ca337db6f92a32347172a20b96f6f51b7bb63b7c Author: Jesper Juhl Date: Sat Jul 21 17:02:59 2007 +0200 USB: Clean up duplicate includes in drivers/usb/ This patch cleans up duplicate includes in drivers/usb/ Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 011db815231f40d4d53531b5d41b82c8dc7c44bf Author: Micah Gruber Date: Wed Sep 5 13:49:58 2007 +0800 USB: Remove unneeded pointer intf from speedtch_upload_firmware() This trivial patch removes the unneeded pointer intf returned from usb_ifnum_to_if(), which is never used. The check for NULL can be simply done by if (!usb_ifnum_to_if(usb_dev, 2)). Signed-off-by: Micah Gruber Signed-off-by: Greg Kroah-Hartman commit cd59abfcc441b2abb4cf2cd62c1eb0f02a60e8dd Author: Alan Stern Date: Fri Sep 21 15:36:56 2007 -0400 PM: merge device power-management source files This patch (as993) merges the suspend.c and resume.c files in drivers/base/power into main.c, making some public symbols private. Signed-off-by: Alan Stern Acked-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 6d66f5cd26e4c482e986130b7572f2735a0f7e8b Author: Tejun Heo Date: Thu Sep 20 17:31:38 2007 +0900 sysfs: add copyrights Sysfs has gone through considerable amount of reimplementation. Add copyrights. Any objections? :-) Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit f0e7e1bd77d450ebfa12153b90f93ad46616ab4a Author: Greg Kroah-Hartman Date: Thu Sep 27 14:48:53 2007 -0700 kobject: update the copyrights I've been hacking on these files for a while now, might as well make it official... Signed-off-by: Greg Kroah-Hartman commit 6adf7554b9c70eac83251e00aa4a55f7dc830cec Author: Greg Kroah-Hartman Date: Thu Sep 27 14:48:53 2007 -0700 kset: add some kerneldoc to help describe what these strange things are Signed-off-by: Greg Kroah-Hartman commit e89a4116ef345cf10c21f722dd1d8bfa9b7c7d58 Author: Greg Kroah-Hartman Date: Thu Oct 11 10:47:49 2007 -0600 Driver core: rename ktype_edd and ktype_efivar This makes it a bit more sane when trying to figure out how to clean up the ktype mess. Based on a larger patch from Kay Sievers Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a1148fb03f3c5d0bb5e6641234c2251a15741361 Author: Greg Kroah-Hartman Date: Thu Oct 11 10:47:49 2007 -0600 Driver core: rename ktype_driver This makes it a bit more sane when trying to figure out how to clean up the ktype mess. Based on a larger patch from Kay Sievers Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 8f4afc410b8d2be49f34835b6bbe788f50471b02 Author: Greg Kroah-Hartman Date: Thu Oct 11 10:47:49 2007 -0600 Driver core: rename ktype_device This makes it a bit more sane when trying to figure out how to clean up the ktype mess. Based on a larger patch from Kay Sievers Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit adc56808f32e15fa0c0fcd5ecb4b30989076ef2b Author: Greg Kroah-Hartman Date: Thu Oct 11 10:47:49 2007 -0600 Driver core: rename ktype_class This makes it a bit more sane when trying to figure out how to clean up the ktype mess. Based on a larger patch from Kay Sievers Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e4bc16621d82ee1fd3685dcbf889a7c49891847b Author: Greg Kroah-Hartman Date: Wed Sep 26 11:12:00 2007 -0700 driver core: remove subsystem_init() There is only one user of it, and it is only a wrapper for kset_init(). Signed-off-by: Greg Kroah-Hartman commit a4e8b912541d5372ae049a3b7c1979968e52c40b Author: Tejun Heo Date: Thu Sep 20 16:05:12 2007 +0900 sysfs: move sysfs file poll implementation to sysfs_open_dirent Sysfs file poll implementation is scattered over sysfs and kobject. Event numbering is done in sysfs_dirent but wait itself is done on kobject. This not only unecessarily bloats both kobject and sysfs_dirent but is also buggy - if a sysfs_dirent is removed while there still are pollers, the associaton betwen the kobject and sysfs_dirent breaks and kobject may be freed with the pollers still sleeping on it. This patch moves whole poll implementation into sysfs_open_dirent. Each time a sysfs_open_dirent is created, event number restarts from 1 and pollers sleep on sysfs_open_dirent. As event sequence number is meaningless without any open file and pollers should have open file and thus sysfs_open_dirent, this ephemeral event counting works and is a saner implementation. This patch fixes the dnagling sleepers bug and reduces the sizes of kobject and sysfs_dirent by one pointer. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 85a4ffad3de77177591f7c2c18c26c3c8dd28bff Author: Tejun Heo Date: Thu Sep 20 16:05:12 2007 +0900 sysfs: implement sysfs_open_dirent Implement sysfs_open_dirent which represents an open file (attribute) sysfs_dirent. A file sysfs_dirent with one or more open files have one sysfs_dirent and all sysfs_buffers (one for each open instance) are linked to it. sysfs_open_dirent doesn't actually do anything yet but will be used to off-load things which are specific for open file sysfs_dirent from it. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit bc747f37a0f089b9366f7385ff870e12911f2383 Author: Tejun Heo Date: Thu Sep 20 16:05:12 2007 +0900 sysfs: move sysfs_dirent->s_children into sysfs_dirent->s_dir Children list head is only meaninful for directory nodes. Move it into s_dir. This doesn't save any space currently but it will with further changes. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit dc2f75f0e0cac645c22c85bcf429683b3fa0d2d9 Author: Tejun Heo Date: Thu Sep 20 16:05:12 2007 +0900 sysfs: make sysfs_root a regular directory dirent sysfs_root is different from a regular directory dirent in that it's of type SYSFS_ROOT and doesn't have a name. These differences aren't used by anybody and only adds to complexity. Make sysfs_root a regular directory dirent. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit d6b4fd2faeb9ddf55ce09cf90b88981e579ee010 Author: Tejun Heo Date: Thu Sep 20 16:05:11 2007 +0900 sysfs: open code sysfs_attach_dentry() sysfs_attach_dentry() now has only one caller and isn't doing much other than obfuscating the code. Open code and kill it. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit b1fc3d6144d56360d1373b01c7881826f558b6cd Author: Tejun Heo Date: Thu Sep 20 16:05:11 2007 +0900 sysfs: make s_elem an anonymous union Make s_elem an anonymous union. Prefixing with s_elem makes things needlessly longer without any advantage. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 078ce6409ca54d5fc6eb7d2147cd6efc3eb09078 Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: make bin attr open get active reference of parent too All bin attr operations require active references of itself and its parent. There's no reason to allow open when its parent has been deactivated and allowing it is inconsistent with regular sysfs file. Use sysfs_get_active_two() in bin attribute open function. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 50ab1a72863b1ad4b117862bc52610f8d4535609 Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: kill unnecessary NULL pointer check in sysfs_release() In sysfs_release(), sysfs_buffer pointed to by filp->private_data is guaranteed to exist. Kill the unnecessary NULL check. This also makes the code more consistent with the counterpart in fs/sysfs/bin.c. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit b05f0548dabd20433f8c201a0307103721d6a18b Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: kill unnecessary sysfs_get() in open paths There's no reason to get an extra reference to sysfs_dirent for an open file. Open file has a reference to the dentry which in turn has a reference to sysfs_dirent. This is fairly obvious as otherwise open itself won't be able to access the sysfs_dirent. Kill the extra sysfs_get() and matching sysfs_put(). Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit b13dc89c5a5bd5e34aadb44c0fb7e870959dcd06 Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: reposition sysfs_dirent->s_mode. Move s_mode downward such that it's side-by-side with s_iattr which is used for the same thing. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5a7ad7f044941316dc98eda2a087a12a7a50649d Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: kill sysfs_update_file() sysfs_update_file() depends on inode->i_mtime but sysfs iondes are now reclaimable making the reported modification time unreliable. There's only one user (pci hotplug) of this notification mechanism and it reportedly isn't utilized from userland. Kill sysfs_update_file(). Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 59f69015684b3de7b9472be9a81b1a978f93a496 Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: clean up header files sysfs is about to go through major overhaul making this a pretty good opportunity to clean up (out-of-tree changes and pending patches will need regeneration anyway). Clean up headers. * Kill space between * and symbolname. * Move SYSFS_* type constants and flags into fs/sysfs/sysfs.h. They're internal to sysfs. * Reformat function prototypes and add argument symbol names. * Make dummy function definition order match that of function prototypes. * Add some comments. * Reorganize fs/sysfs/sysfs.h according to which file the declared variable or feature lives in. This patch does not introduce any behavior change. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit f88123eaf953f13a0c597dde54745d28f81236de Author: Tejun Heo Date: Thu Sep 20 16:05:10 2007 +0900 sysfs: fix sysfs_chmod_file() such that it updates sd->s_mode too sysfs_chmod_file() looked and updated only inode of the target file. Dentry and inode are reclaimable and the update mode data will go away when the inode is reclaimed. This patch makes sysfs_chmod_file() update sd->s_mode too such that the change is permanent. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 181b2e4be1603ce3ccace8322047a548f29f4b20 Author: Tejun Heo Date: Thu Sep 20 16:05:09 2007 +0900 sysfs: fix comments of sysfs_add/remove_one() sysfs_add/remove_one() now link and unlink the target dirent into and from the children list. Update comments accordingly. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5c3e8964ce87477a12e3e9edc3742156a3929a74 Author: Greg Kroah-Hartman Date: Thu Sep 13 02:53:13 2007 -0700 sysfs: spit a warning to users when they try to create a duplicate sysfs file We want to let people know when we create a duplicate sysfs file, as they need to fix up their code. Signed-off-by: Greg Kroah-Hartman commit dc8c85871c9728c5fddca6854a191fd41eb9438c Author: Kay Sievers Date: Wed Aug 15 12:25:38 2007 +0200 PTY: add kernel parameter to overwrite legacy pty count Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 45aaae9c51d768d5a8fd53fb372b1eb714f37691 Author: Eric W. Biederman Date: Mon Aug 20 21:36:31 2007 +0900 sysfs: Rewrite sysfs_move_dir in terms of sysfs dirents This patch rewrites sysfs_move_dir to perform it's checks as much as possible on the underlying sysfs_dirents instead of the contents of the dcache, making sysfs_move_dir more like the rest of the sysfs directory modification code. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 9918f9a4817cb6241c727b434d5f8ec5564198de Author: Eric W. Biederman Date: Mon Aug 20 21:36:31 2007 +0900 sysfs: Rewrite rename in terms of sysfs dirents This patch rewrites sysfs_rename_dir to perform it's checks as much as possible on the underlying sysfs_dirents instead of the contents of the dcache. It turns out that this version is a little simpler, and a little more like the rest of the sysfs directory modification code. tj: fixed double locking of sysfs_mutex Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5a26b79c426f8e55ebf7204cb138eb6b1645d4d3 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Remove s_dentry The only uses of s_dentry left are the code that maintains s_dentry and trivial users that don't actually need it. So this patch removes the s_dentry maintenance code and restructures the trivial uses to use something else. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit e0712bbfd9cb617fc3a822781c2466fb6b7ede50 Author: Tejun Heo Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: simply sysfs_get_dentry Now that we know the sysfs tree structure cannot change under us and sysfs shadow support is dropped, sysfs_get_dentry() can be simplified greatly. It can just look up from the root and there's no need to retry on failure. Signed-off-by: Tejun Heo Cc: Eric W. Biederman Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 932ea2e374dd1ca26676297a5eccd1cdab86f7cd Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Introduce sysfs_rename_mutex Looking carefully at the rename code we have a subtle dependency that the structure of sysfs not change while we are performing a rename. If the parent directory of the object we are renaming changes while the rename is being performed nasty things could happen when we go to release our locks. So introduce a sysfs_rename_mutex to prevent this highly unlikely theoretical issue. In addition hold sysfs_rename_mutex over all calls to sysfs_get_dentry. Allowing sysfs_get_dentry to be simplified in the future. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 89bec09705d2033b8b765f3c3ac5093f80bd5bc4 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Rewrite sysfs_drop_dentry. Currently we find the dentry to drop by looking at sd->s_dentry. We can just as easily accomplish the same task by looking up the sysfs inode and finding all of the dentries from there, with the added bonus that we don't need to play with the sysfs_assoc_lock. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 3efa65b92d832873ece62b42a4268c2515943977 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Simplify readdir. At some point someone wrote sysfs_readdir to insert a cursor into the list of sysfs_dirents to ensure that sysfs_readdir would restart properly. That works but it is complex code and tends to be expensive. The same effect can be achieved by keeping the sysfs_dirents in inode order and using the inode number as the f_pos. Then when we restart we just have to find the first dirent whose inode number is equal or greater then the last sysfs_dirent we attempted to return. Removing the sysfs directory cursor also allows the remove of all of the mysterious checks for sysfs_type(sd) != 0. Which were nonbovious checks to see if a cursor was in a directory list. tj: offset marker for EOF is changed from UINT_MAX to INT_MAX to avoid overflow in case offset is 32bit. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 94777e09180b6249d455baa2dbe34cf630e0c033 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: In sysfs_lookup don't open code sysfs_find_dirent This is a small cleanup patch that makes the code just a little bit cleaner. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 7d0c7d676cc066413e1583b5af9fba8011972d41 Author: Eric W. Biederman Date: Mon Aug 20 21:36:30 2007 +0900 sysfs: Make sysfs_mount static This patch modifies the users of sysfs_mount to use sysfs_root instead (which is what they are looking for). It then makes sysfs_mount static to keep people from using it by accident. The net result is slightly faster and cleaner code. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 0333cd8a3f4249fde2c50929a6eac35245fc685b Author: Eric W. Biederman Date: Mon Aug 20 21:36:29 2007 +0900 sysfs: Use kill_anon_super Since sysfs no longer stores fs directory information in the dcache on a permanent basis kill_litter_super it is inappropriate and actively wrong. It will decrement the count on all dentries left in the dcache before trying to free them. At the moment this is not biting us only because we never unmount sysfs. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 119dd52be33dfe6285f586ab7354897fdefc7e23 Author: Eric W. Biederman Date: Mon Aug 20 21:36:29 2007 +0900 sysfs: Remove sysfs_instantiate Now that sysfs_get_inode is dropping the inode lock we no longer have a need from sysfs_instantiate. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 372e88bd1922228e0a55228f6dc8e311d1696fa0 Author: Eric W. Biederman Date: Mon Aug 20 21:36:29 2007 +0900 sysfs: Move all of inode initialization into sysfs_init_inode Signed-off-by: "Eric W. Biederman" Signed-off-by: Tejun Heo Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 253280267a7f1ced0c434fb24b7bef92d7d22628 Author: Tejun Heo Date: Mon Aug 20 21:36:29 2007 +0900 sysfs: fix i_mutex locking in sysfs_get_dentry() lookup_one_len_kern() should be called with the parent's i_mutex locked. Fix it. Spotted by Eric W. Biederman. Signed-off-by: Tejun Heo Cc: Eric W. Biederman Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 1359555eb77d240b7c1d7ee75bb07e89e89770e4 Author: Jean Delvare Date: Sun Sep 9 12:54:16 2007 +0200 Driver core: Make platform_device.id an int While platform_device.id is a u32, platform_device_add() handles "-1" as a special id value. This has potential for confusion and bugs. Making it an int instead should prevent problems from happening in the future. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 44b760a825fae65629fb04b1deeab68c6bef5c50 Author: Akinobu Mita Date: Sun Aug 19 16:51:14 2007 +0900 sysdev: remove global sysdev drivers list No one uses sysdev_drivers. Because no one calls sysdev_driver_register with NULL class. And it is difficult to imagine that someone want to implement a global sysdev driver which is called with all sys_device on any kind of sysdev_class. So this patch removes global sysdev_drivers list and update comments for this change. Signed-off-by: Akinobu Mita Cc: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit a93720eeb4b3bedc1fe15e4b6ca364e6be577d20 Author: Rolf Eike Beer Date: Fri Aug 10 13:51:07 2007 -0700 sysfs: Fix typos in fs/sysfs/file.c Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b4d1eb2ccecb76bce4c2125c5a3e77753fcfaeb0 Author: Adrian Bunk Date: Fri Aug 10 13:51:09 2007 -0700 drivers/base/power/: make 2 functions static suspend_device() and resume_device() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 109f0e93b6b728f03c1eb4af02bc25d71b646c59 Author: Markus Rechberger Date: Mon Aug 13 19:20:43 2007 +0200 Fix Firmware class name collision following patch fixes the i2c name collision with i2c-dev. http://mcentral.de/wiki/index.php/Bugtracker#i2c_core_problem This issue has been experienced with em28xx and saa7133 based devices. I discussed that problem with Jean Delvare a while ago and he proposed to add a prefix to the class name. Signed-off-by: Markus Rechberger Acked-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit ccd490a3c3d9c5960c738c2720fb2dc6830bc334 Author: Kay Sievers Date: Sun Aug 12 20:43:55 2007 +0200 Driver core: kerneldoc - kobject_uevent_env is not "usually KOBJ_MOVE" Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7ac1cf4a87f446c130f7d8a4fe7e519f532a11de Author: Kay Sievers Date: Sun Aug 12 20:43:55 2007 +0200 Driver core: add uevent file for bus and driver This has been in the SuSE kernels for some time now. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5c5daf657cb5f963a38413f2852279d7a3843144 Author: Kay Sievers Date: Sun Aug 12 20:43:55 2007 +0200 Driver core: exclude kobject_uevent.c for !CONFIG_HOTPLUG Move uevent specific logic from the core into kobject_uevent.c, which does no longer require to link the unused string array if hotplug is not compiled in. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 07c015e7654821f2dda00dcf152c65b2afd46ac3 Author: tonyj@suse.de Date: Tue Aug 7 22:28:44 2007 -0700 Convert from class_device to device in drivers/char Convert from class_device to device in drivers/char. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 60043428a561a5d431ad479b7ecb79805ed04efc Author: tonyj@suse.de Date: Tue Aug 7 22:28:47 2007 -0700 Convert from class_device to device for drivers/video Convert from class_device to device for drivers/video. Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 34b51f39e23bc9e529830ddf6108381d4bab95a6 Author: Jean Delvare Date: Mon Aug 13 11:26:26 2007 +0200 dmi-id: Possible cleanup The DEFINE_DMI_ATTR macro has a single user left so we can expand it for slightly shorter/simpler code. Signed-off-by: Jean Delvare Acked-by: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit 6374475661172d508a9b93a2740a3fdc9d899756 Author: Jean Delvare Date: Mon Aug 13 11:24:33 2007 +0200 dmi-id: Use dynamic sysfs attributes We can use sysfs attributes with an extra parameter for dmi id attributes. This makes it possible to use the same callback function for all attributes, reducing the binary size significantly (-18% on x86_64.) Signed-off-by: Jean Delvare Acked-by: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit 990e53f880be9ff93072b4cce590ec2826cee0b6 Author: Tejun Heo Date: Thu Aug 2 21:38:03 2007 +0900 sysfs: make sysfs_addrm_finish() return void With the previous sysfs_add_one() update, there is only one user of the return value of sysfs_addrm_finish() and the user can switch to testing @sd easily. Make sysfs_addrm_finish() return void for cleaner semantics as suggested by Satyam Sharma. This patch doesn't introduce any noticeable behavior change. Signed-off-by: Tejun Heo Cc: Satyam Sharma Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 23dc279950a056c33a14d09cf759f5173d41abd9 Author: Tejun Heo Date: Thu Aug 2 21:38:03 2007 +0900 sysfs: make sysfs_add_one() automatically check for duplicate entry Make sysfs_add_one() check for duplicate entry and return -EEXIST if such entry exists. This simplifies node addition code a bit. This patch doesn't introduce any noticeable behavior change. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 41fc1c27452e041a18e5141b8203ee0ea72bc483 Author: Tejun Heo Date: Thu Aug 2 21:38:03 2007 +0900 sysfs: make sysfs_add/remove_one() call link/unlink_sibling() implictly When adding or removing a sysfs_dirent, the user used to be required to call link/unlink separately. It was for two reasons - code looked like that before sysfs_addrm_cxt conversion and to avoid looping through parent_sd->children list twice during removal. Performance optimization during removal just isn't worth it. Make sysfs_add/remove_one() call sysfs_link/unlink_sibing() implicitly. This makes code simpler albeit slightly less efficient. This change doesn't introduce any noticeable behavior change. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit ff869de7bf5e76adffebd3a176c1c73bca7eddb7 Author: Tejun Heo Date: Thu Aug 2 21:38:02 2007 +0900 sysfs: simplify sysfs_rename_dir() With the shadow directories gone, sysfs_rename_dir() can be simplified. * parent doesn't need to be grabbed separately. Just access old_dentry->d_parent. * parent sd can never change. Remove code to move under the new parent. * Massage comments a bit. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit a7a0475497f9018e2e28cd421ee467d2ad68643e Author: Tejun Heo Date: Thu Aug 2 21:38:02 2007 +0900 sysfs: cosmetic changes in sysfs_lookup() * remove space between * and symbol name in variable declaration. * kill unnecessary new line. * kill 'found' and test 'sd' instead. Signed-off-by: Tejun Heo Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 90bc61359de0148f8627073d68a22edc7ed9893d Author: Eric W. Biederman Date: Tue Jul 31 19:15:08 2007 +0900 sysfs: Remove first pass at shadow directory support While shadow directories appear to be a good idea, the current scheme of controlling their creation and destruction outside of sysfs appears to be a locking and maintenance nightmare in the face of sysfs directories dynamically coming and going. Which can now occur for directories containing network devices when CONFIG_SYSFS_DEPRECATED is not set. This patch removes everything from the initial shadow directory support that allowed the shadow directory creation to be controlled at a higher level. So except for a few bits of sysfs_rename_dir everything from commit b592fcfe7f06c15ec11774b5be7ce0de3aa86e73 is now gone. Signed-off-by: Eric W. Biederman Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 869512ab5ab93e5e82ad7d4aaf4ed098d23bfc3f Author: Dave Young Date: Thu Jul 26 14:53:53 2007 +0000 sysfs: cleanup semaphore.h Cleanup semaphore.h Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit 52e8c209d6d2bae6766b9940a107c73e943583f1 Author: Dave Young Date: Thu Jul 26 11:03:54 2007 +0000 sysfs/file.c - use mutex instead of semaphore Use mutex instead of semaphore in sysfs/file.c : sys_buffer. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit 2ebefc50161a0a1cdebccd62be749e72abdbec37 Author: Robin Getz Date: Thu Aug 2 18:23:50 2007 -0400 debugfs: helper for decimal challenged Allows debugfs helper functions to have a hex output, rather than just decimal Signed-off-by: Robin Getz Signed-off-by: Greg Kroah-Hartman commit d716551e188787effb08bf87a846404cfd239a8b Author: Cornelia Huck Date: Fri Sep 14 13:25:19 2007 +0200 Driver core: clean up removed functions from the documentation Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit ce2c9cb0259acd2aed184499ebe41ab00da13b25 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 kobject: remove the static array for the name Due to historical reasons, struct kobject contained a static array for the name, and a dynamic pointer in case the name got bigger than the array. That's just dumb, as people didn't always know which variable to reference, even with the accessor for the kobject name. This patch removes the static array, potentially saving a lot of memory as the majority of kobjects do not have a very long name. Thanks to Kay for the idea to do this. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 34980ca8faebfcce31094eba6ffbb0113950361f Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Drivers: clean up direct setting of the name of a kset A kset should not have its name set directly, so dynamically set the name at runtime. This is needed to remove the static array in the kobject structure which will be changed in a future patch. Signed-off-by: Greg Kroah-Hartman commit 7e7654a92a5a75a350cc3458389bc76273498f6a Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 cdev: remove unneeded setting of cdev names struct cdev does not need the kobject name to be set, as it is never used. This patch fixes up the few places it is set. Signed-off-by: Greg Kroah-Hartman Acked-by: Mauro Carvalho Chehab commit 19c38de88a80913351fcacefdb461cc0b585fa87 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 kobjects: fix up improper use of the kobject name field A number of different drivers incorrect access the kobject name field directly. This is not correct as the name might not be in the array. Use the proper accessor function instead. commit 5901d0145c6b9e791bacd049eea11c9db9a3006e Author: Greg Kroah-Hartman Date: Thu Sep 13 02:53:13 2007 -0700 Driver core: remove get_bus() get_bus() should not be globally visable as it is not used by anything other than drivers/base/bus.c. This patch removes the visability of it, and renames it to match all of the other *_get() functions in the kernel. Signed-off-by: Greg Kroah-Hartman commit fc1ede5888ab8a9b3e7f8567b945beed35222885 Author: Greg Kroah-Hartman Date: Thu Sep 13 02:53:13 2007 -0700 Driver core: remove put_bus() put_bus() should not be globally visable as it is not used by anything other than drivers/base/bus.c. This patch removes the visability of it, and renames it to match all of the other *_put() functions in the kernel. Signed-off-by: Greg Kroah-Hartman commit 1ef4cfac01fb5e98900f5bdb2a722aac1daff11b Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Driver core: remove subsys_get() There are no more subsystems, it's a kset now so remove the function and the only two users, which are in the driver core. Signed-off-by: Greg Kroah-Hartman commit 6e9d930d167f8957a12a80515f3c417a98296378 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Driver core: remove subsys_put() There are no more subsystems, it's a kset now so remove the function and the only two users, which are in the driver core. Signed-off-by: Greg Kroah-Hartman commit 27f20e5e4e60a7f28010eeb34399fe0cc9a1a235 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Driver core: remove kset_set_kset_s This macro is only used by the driver core and is held over from when we had subsystems. It is not needed anymore. Signed-off-by: Greg Kroah-Hartman commit d6b05b84edf590ff872de6310ec20d60b5b37dd2 Author: Greg Kroah-Hartman Date: Wed Sep 12 15:06:57 2007 -0700 Driver core: remove subsys_set_kset This macro is only used by the driver core and is held over from when we had subsystems. It is not needed anymore. Signed-off-by: Greg Kroah-Hartman commit 6a8d8abb6e4497ae4132a9b1f0a956ea501f1c46 Author: Kay Sievers Date: Wed Aug 15 15:38:28 2007 +0200 Driver core: add CONFIG_UEVENT_HELPER_PATH The kernel creates a process for every event that is send, even when there is no binary it could execute. We are needlessly creating around 200-300 failing processes during early bootup, until we have the chance to disable it from userspace. This change allows us to disable /sbin/hotplug entirely, if you want to, by setting UEVENT_HELPER_PATH="" in the kernel config. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7eff2e7a8b65c25920207324e56611150eb1cd9a Author: Kay Sievers Date: Tue Aug 14 15:15:12 2007 +0200 Driver core: change add_uevent_var to use a struct This changes the uevent buffer functions to use a struct instead of a long list of parameters. It does no longer require the caller to do the proper buffer termination and size accounting, which is currently wrong in some places. It fixes a known bug where parts of the uevent environment are overwritten because of wrong index calculations. Many thanks to Mathieu Desnoyers for finding bugs and improving the error handling. Signed-off-by: Kay Sievers Cc: Mathieu Desnoyers Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 8380770c842faef3001e44662953d64ad9a93663 Author: Kay Sievers Date: Mon Jul 30 02:28:56 2007 +0200 Driver core: make sysfs uevent-attributes static Attributes do not have an owner(module) anymore, so there is no need to carry the attributes in every single bus instance. Signed-off-by: Kay Sievers Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3b6662f192fc521b9657f63e68d20ec99979dae6 Author: Tsugikazu Shibata Date: Tue Sep 25 01:54:26 2007 +0900 HOWTO: update ja_JP/HOWTO with latest changes Here is another sync patch of Documentation/ja_JP/HOWTO Japanese developer sent me some cosmetic changes and also follow changes of HOWTO Cross reference URL (sosdg.org/qiyong/lxr) known_regression explanations on kernel dev. process Signed-off-by: Tsugikazu Shibata Cc: stable Signed-off-by: Greg Kroah-Hartman commit 43cc71eed1250755986da4c0f9898f9a635cb3bf Author: Kay Sievers Date: Sat Aug 18 04:40:39 2007 +0200 platform: prefix MODALIAS with "platform:" Prefix platform modalias strings with "platform:", which modprobe config to blacklist alias resolving if userspace configures it. Send uevents for all platform devices. Add MODULE_ALIAS's to: pxa2xx_pcmcia, ds1742 and pcspkr to trigger module autoloading by userspace. $ modinfo pcspkr alias: platform:pcspkr license: GPL description: PC Speaker beeper driver ... $ modprobe -n -v platform:pcspkr insmod /lib/modules/2.6.23-rc3-g28e8351a-dirty/kernel/drivers/input/misc/pcspkr.ko Signed-off-by: Kay Sievers Cc: David Brownell Cc: Atsushi Nemoto Signed-off-by: Greg Kroah-Hartman commit ed6fb174eea8869e88d8bc506a55f3ef76fcb7ed Author: Venki Pallipadi Date: Fri Oct 12 23:04:24 2007 +0200 x86: HPET add another ICH7 PCI id Add another PCI ID for ICH7 force hpet. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit 32a2da64c26d3c886c35f60299259a3497ff96bb Author: Venki Pallipadi Date: Fri Oct 12 23:04:24 2007 +0200 x86: HPET force enable ICH5 suspend/resume fix A bugfix in ich5 hpet force detect which caused resumes to fail. Thanks to Udo A Steinberg for reporting the problem. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit bfe0c1cc6456bba1f4e3cc1fe29c0ea578ac763a Author: Venki Pallipadi Date: Fri Oct 12 23:04:24 2007 +0200 x86: HPET force enable for ICH5 force_enable hpet for ICH5. [ Build fixes from Andrew Morton ] Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 59c69f2a51b41e9886b85f61c04e8d0d2a35f37b Author: Venki Pallipadi Date: Fri Oct 12 23:04:23 2007 +0200 x86: HPET try to activate force detected hpet Enable HPET later during boot, after the force detect in PCI quirks. Also add a call to repeat the force enabling at resume time. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit d54bd57d6580250e6551261f3b15c45a9d90c77b Author: Venki Pallipadi Date: Fri Oct 12 23:04:23 2007 +0200 x86: HPET force enable o ICH7 and later Force detect and/or enable HPET on ICH chipsets. This patch just handles the detection part and following patches use this information. Adds a function to repeat the force enabling during resume time. Using HPET this way, instead of PIT increases the time CPUs can reside in C-state when system is totally idle. On my test system with Core 2 Duo, average C-state residency goes up from ~20mS to ~80mS. [ Build fixed from Andrew Morton ] Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 610bf2f143b9c5cda768a2d428d66d3a16769930 Author: Venki Pallipadi Date: Fri Oct 12 23:04:23 2007 +0200 x86: HPET restructure hpet code for hpet force enable Restructure and rename legacy replacement mode HPET timer support. Just the code structural changes and should be zero functionality change. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 4a93232dab0a07074bcc5291a0f1f39919916f31 Author: Venki Pallipadi Date: Fri Oct 12 23:04:23 2007 +0200 clock events: allow replacement of broadcast timer Change the broadcast timer, if a timer with higher rating becomes available. Signed-off-by: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 31c435d75e7d15a5f965c5eb0e33fe0e236f49a4 Author: Chris Wright Date: Fri Oct 12 23:04:23 2007 +0200 i386/x8664: cleanup the shared hpet code Remove hpet_readl/writel from vsyscall.h, where it does not belong anyway. Use the hpet code itself. Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit 39d0b7ba7b9c0a2c594073400cde1d0beffa0bea Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 i386: Remove the useless #ifdef in i8253.h Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 43ca7ec96f01bd921e772112729005d4474fdbf4 Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 ACPI: remove the now unused ifdef code The conversion of x86-64 to clock events makes the #ifdef CONFIG_GENERIC_CLOCKEVENTS n the timer broadcast functions useless. Remove it. Signed-off-by: Thomas Gleixner Cc: john stultz Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 5b94664a3a2a4f3c516a4a2f454f3c811cb25959 Author: Chris Wright Date: Fri Oct 12 23:04:23 2007 +0200 jiffies: remove unused macros The x86 hpet cleanups allow removal of some unused macros. Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit bc1d99c1de85e826765318738e00e6c4e9a0cd12 Author: Chris Wright Date: Fri Oct 12 23:04:23 2007 +0200 x86_64: cleanup apic.c after clock events switch Make variables static. Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 9f75e9b74a45d7d3c343c8979f49d5e6b92bbce3 Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 x86_64: remove now unused code Remove the unused code after the switch to clock events. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 2f0798a3b1c2155b8f30858e853557aef9da2e4e Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 x86: unify timex.h variants Combine the timex.h variants and move the TSC related code into tsc.h. Move the set_cyc2ns_scale() call into the tsc calibraction code, where it belongs. Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit 5d5a2989b72847e1f5763420ea31383ca63ebf53 Author: Thomas Gleixner Date: Fri Oct 12 23:04:23 2007 +0200 x86: kill 8253pit.h Useless header file with 32 bit and 64 bit variants. Move the single useful line to the place where it is used. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit fb79d22e1d4b06385796cc0db0084a2e07beccee Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86: disable apic timer for AMD C1E enabled CPUs AMDs C1E enabled CPUs stop the local apic timer, when both cores are idle. This is a hardware feature which breaks highres/dynticks. Add the same quirk as we have for 32 bit already. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 4e77ae3e105d28aa9410585715d83818f0abe871 Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86: Fix irq0 / local apic timer accounting The clock events merge introduced a change to the nmi watchdog code to handle the not longer increasing local apic timer count in the broadcast mode. This is fine for UP, but on SMP it pampers over a stuck CPU which is not handling the broadcast interrupt due to the unconditional sum up of local apic timer count and irq0 count. To cover all cases we need to keep track on which CPU irq0 is handled. In theory this is CPU#0 due to the explicit disabling of irq balancing for irq0, but there are systems which ignore this on the hardware level. The per cpu irq0 accounting allows us to remove the irq0 to CPU0 binding as well. Add a per cpu counter for irq0 and evaluate this instead of the global irq0 count in the nmi watchdog code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit b8ce33590687888ebb900d09557b8807c4539022 Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: convert to clock events Finally switch to the clockevents code. Share code with i386 for hpet and PIT. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit ba7eda4c60e1d070b2f6586d42719ec1d5302d3b Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: Add (not yet used) clock event functions Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 02290683343391a50f45599710295dafa2ddd018 Author: Chris Wright Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: prepare idle loop for dynamic ticks Add tick_nohz_{stop,restart}_sched_tick to idle loop in prepartion for turning on dynticks. These are just noops until NO_HZ is enabled. Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit c4d58cbd158dc9b30c55c0e3881ae7c6b8843d5a Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: remove nested irq disables setup_APIC_timer disables interrupts anyway. So no need to do the same in setup_boot_APIC_clock and setup_secondary_APIC_clock. Disable interrupts explicit in the calibration code. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit abc63fcd3cc61876b2d6f5b0d08021bd1538385c Author: Thomas Gleixner Date: Fri Oct 12 23:04:07 2007 +0200 x86_64: apic change setup_APIC_timer calling convention setup_APIC_timer takes the file global calibration result as an argument. Remove it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit b58eb00df7f7f80b7f456bf8fb740fddf14408ba Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: Remove APIC_DIVISOR APIC_DIVISOR is rather useless. It makes the calibration result more accurate in the first place, but we discard this later when we write the value to the APIC timer by dividing the calibration value by APIC_DIVISOR. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit d03030e917047cf7f475e641cd2d6e83647392b0 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: Move apic calibration code around Let the calibration code fill in calibration_result directly and move the variable on top of the file. Fixup a printk w/o log level while at it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 500ff08b76878a45391fffc7a4c972883503050e Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: remove pit synchronization The APIC timer setup code synchronizes the local APIC timer to the PIT/HPET. This is pointless as the PIT and the local APIC timer frequency are not correlated and the APIC timer calibration can never be accurate enough to avoid that the local APIC timer and the PIT/HPET drift apart. Simply remove it. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 801740971af7c6256b7ad2472706d43ed008fd3d Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: prepare apic code for clock events Change __setup_APIC_LVTT so it takes the arguments which are necessary for the later clock events switch. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 7ffeeb1e03c4fc1c7e8434c5496018dd035f8924 Author: Yinghai Lu Date: Fri Oct 12 23:04:06 2007 +0200 x86: remove never used apic_mapped [ tglx: arch/x86 adaptation ] Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Cc: Christoph Lameter Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 0190dae54de62fbb9ced75d134015266987eb6b8 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 i386: prepare sharing the PIT code PIT clock events work already and the PIT handling is the same for i386 and x86_64. x86_64 does not support PIT as a clock source, so disable the PIT clocksource for x86_64. Use the i386 i8253.h include file for x86_64 as well to share the exports and the PIT constants. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit f5e0e93faf8421083853b2d7a217267f49e27cc3 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 i386: prepare sharing the PIT code PIT clock events work already and the PIT handling is the same for i386 and x86_64. x86_64 does not support PIT as a clock source, so disable the PIT clocksource for x86_64. Prepare i8253.h to be shared with x8664 Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 28769149c285e0a392d2e601ae0cc71ffc345f7d Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 i386: prepare sharing the hpet code with x86_64 Add the x8664 specific bits (mapping) to share the hpet code later. Move the reserve_platform_timer call to late init. This is necessary for x86_64, as hpet enable() is called before memory is setup. i386 calls it in late_time_init, but it does not hurt to do it later for both. Pull in the x8664 hpet disable command line option as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 06a24dec10bc4014fc0974670627efed68f5da27 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 i386: prepare sharing the hpet code with x86_64 The hpet implementations of i386 and x8664 has been mostly the same before the clock events conversion of i386. The clock events conversion of i386 hpet is already done. So it makes sense to share the code for the x86_64 clock events conversion. Abstract out the mapping functions. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit d371698efd45c3664fd1726780c360f02e1f9580 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: Consolidate tsc calibration Move the TSC calibration code to tsc.c. Reimplement it so the pm timer can be used as a reference as well. Signed-off-by: Thomas Gleixner Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 89b2bbd69b89b4c5efdc112a88d72419bdeb8dfc Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86_64: Select clocksource watchdog in Kconfig TSC must be verified by a continous and reliable clocksource to allow high resolution timers and or dynamic ticks. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 8f36881b3c972ebc019195692849f22488f9c0a3 Author: Andres Salomon Date: Fri Oct 12 23:04:06 2007 +0200 x86: Geode MFGPT clock event device support Add support for an MFGPT clock event device; this allows us to use MFGPTs as the basis for high-resolution timers. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: Andi Kleen Cc: Alan Cox Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 83d7384f8d4aa216b49cf9cb286ea743054b119f Author: Andres Salomon Date: Fri Oct 12 23:04:06 2007 +0200 x86: Geode Multi-Function General Purpose Timers support This adds support for Multi-Function General Purpose Timers. It detects the available timers during southbridge init, and provides an API for allocating and setting the timers. They're higher resolution than the standard PIT, so the MFGPTs come in handy for quite a few things. Note that we never clobber the timers that the BIOS might have opted to use; we just check for unused timers. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: Andi Kleen Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner commit 5fa3a246ea2e1be2ffaa01343bc183c8c0bfa472 Author: Venki Pallipadi Date: Fri Oct 12 23:04:06 2007 +0200 x86: block irq balancing for timer Disable irq balancing on IRQ0. Several SIS chipsets lock up when you try to change affinity of IRQ #0. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Arjan van de Ven commit 3c9aea47425885ec8b1f7b0df88c2ebc6f747c9d Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 x86: Fix irq0 / local apic timer accounting The clock events merge introduced a change to the nmi watchdog code to handle the not longer increasing local apic timer count in the broadcast mode. This is fine for UP, but on SMP it pampers over a stuck CPU which is not handling the broadcast interrupt due to the unconditional sum up of local apic timer count and irq0 count. To cover all cases we need to keep track on which CPU irq0 is handled. In theory this is CPU#0 due to the explicit disabling of irq balancing for irq0, but there are systems which ignore this on the hardware level. The per cpu irq0 accounting allows us to remove the irq0 to CPU0 binding as well. Add a per cpu counter for irq0 and evaluate this instead of the global irq0 count in the nmi watchdog code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit c8a1d398de70a7774359b4720c392891cdd485f9 Author: Thomas Gleixner Date: Fri Oct 12 23:04:06 2007 +0200 clockevents: fix periodic broadcast for oneshot devices The next_event member of the clock event device is used to keep track of the next periodic event. For one shot only devices it is wrong to clear the variable, as the next event will be based on it. Pointed out by Ralf Baechle Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit de68d9b173ee657115dd0e584c2365b7954253a5 Author: Thomas Gleixner Date: Fri Oct 12 23:04:05 2007 +0200 clockevents: Allow build w/o run-tine usage for migration purposes Migration aid to allow preparatory patches which introduce not yet used parts of clock events code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 7f8033b76c8eea89dec9f658f4a31bcd4fe84bbb Author: Thomas Gleixner Date: Fri Oct 12 23:04:05 2007 +0200 clockevents: Remove unused inline function Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit 77f1fd6ecd04556cbac1ca72e7a284ae313ea538 Author: Pierre Ossman Date: Fri Oct 12 22:48:46 2007 +0200 mmc: use correct unregister function for led trigger We register a simple trigger so make sure we use the corresponding unregister function. (Also means we get a dummy function when triggers aren't compiled in) Signed-off-by: Pierre Ossman commit 2855568b1ee4f58ef2c0a13ddfceb4b0b216b7ed Author: Jeff Garzik Date: Thu Oct 11 17:12:35 2007 -0400 [libata] struct pci_dev related cleanups * remove pointless pci_dev_to_dev() wrapper. Just directly reference the embedded struct device like everyone else does. * pata_cs5520: delete cs5520_remove_one(), it was a duplicate of ata_pci_remove_one() * linux/libata.h: don't bother including linux/pci.h, we don't need it. Simply declare 'struct pci_dev' and assume interested parties will include the header, as they should be doing anyway. * linux/libata.h: consolidate all CONFIG_PCI declarations into a single location in the header. Signed-off-by: Jeff Garzik commit b06ce3e51e3df4394a584c234f11240b1c6f8d5b Author: Tejun Heo Date: Tue Oct 9 15:06:48 2007 +0900 libata: use ata_exec_internal() for PMP register access PMP registers used to be accessed with dedicated accessors ->pmp_read and ->pmp_write. During reset, those callbacks are called with the port frozen so they should be able to run without depending on interrupt delivery. To achieve this, they were implemented polling. However, as resetting the host port makes the PMP to isolate fan-out ports until SError.X is cleared, resetting fan-out ports while port is frozen doesn't buy much additional safety. This patch updates libata PMP support such that PMP registers are accessed using regular ata_exec_internal() mechanism and kills ->pmp_read/write() callbacks. The following changes are made. * PMP access helpers - sata_pmp_read_init_tf(), sata_pmp_read_val(), sata_pmp_write_init_tf() are folded into sata_pmp_read/write() which are now standalone PMP register access functions. * sata_pmp_read/write() returns err_mask instead of rc. This is consistent with other functions which issue internal commands and allows more detailed error reporting. * ahci interrupt handler is modified to ignore BAD_PMP and spurious/illegal completion IRQs while reset is in progress. These conditions are expected during reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit afaa5c373d2c49ee4865847031b82f1377f609d0 Author: Tejun Heo Date: Tue Oct 9 15:06:10 2007 +0900 libata: implement ATA_PFLAG_RESETTING Implement ATA_PFLAG_RESETTING. This flag is set while reset is in progress. It's set before prereset is called and cleared after reset fails or postreset is finished. This flag itself doesn't have any function. It will be used by LLDs to tell whether reset is in progress if it needs to behave differently during reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2b789108fc1dcba22050a7e6e29ae5ebaea427dd Author: Tejun Heo Date: Tue Oct 9 15:05:44 2007 +0900 libata: add @timeout to ata_exec_internal[_sg]() Add @timeout argument to ata_exec_internal[_sg](). If 0, default timeout ata_probe_timeout is used. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5f226c6bf78edab023ed1ea679531731d9df92a6 Author: Tejun Heo Date: Tue Oct 9 15:02:23 2007 +0900 ahci: fix notification handling Asynchronous notification on ICH9 didn't work because it didn't write AN FIS into the RX area - it only updates SNotification. Also, snooping SDB_FIS RX area is racy against further SDB FIS receptions. Let sata_async_notification() determine using SNTF if it's available and snoop RX area iff SNTF isn't available Signed-off-by: Tejun Heo Cc: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 1c954a4d9a9e351fa3509533fd8dd5f3821206cd Author: Tejun Heo Date: Tue Oct 9 15:01:37 2007 +0900 ahci: clean up PORT_IRQ_BAD_PMP enabling Now that we have pp->intr_mask, move PORT_IRQ_BAD_PMP enabling to ahci_pmp_attach/detach() where it belongs. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 75da6d2b8f518bec40546bc0b0696a2cebecf6cc Author: Tejun Heo Date: Tue Oct 9 14:59:50 2007 +0900 ahci: kill leftover from enabling NCQ over PMP ahci had problems with NCQ over PMP and NCQ used to be disabled while PMP was attached. After fixing the problem, the temporary NCQ disabling code wasn't removed completely. Kill the remaining piece. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9073868376ed5fa1f247327ccb2e6f766d5b7eed Author: Tejun Heo Date: Tue Oct 9 14:58:33 2007 +0900 libata: wrap schedule_timeout_uninterruptible() in loop Tasks in uninterruptible sleep might be woken up by unrelated events and should check whether the condition it was waiting for has actually triggered. Wrap schedule_timeout_uninterruptible() in loop to achieve it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 94ff3d54080975686a3c41e73b8926030ee0c31f Author: Tejun Heo Date: Tue Oct 9 14:57:56 2007 +0900 libata: skip suppress reporting if ATA_EHI_QUIET ATA_EHI_NO_AUTOPSY and ATA_EHI_QUIET are used during initial probing to skip exception analysis and reporting. Usually, there's nothing to report but on some allowed but rare corner cases (e.g. phy status changed interrupt when IRQ is enabled on frozen port - this happens if IRQ pending status isn't cleared in the IRQ router or controller) exception messages get printed. Skip reporting if ATA_EHI_QUIET is set. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit abf6e8ed07213bdd9734be2e42639b79310bd81c Author: Tejun Heo Date: Tue Oct 9 14:57:25 2007 +0900 libata: clear ehi description after initial host report ehi description field is used to carry LLD specific controller description. Sometimes, it's used without clearing before and LLD description gets printed with exception information one more time. Clear after printing. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a01f48b8e7f5ca1000d662fe205e6fe884e0d132 Author: Tejun Heo Date: Sun Oct 7 07:04:50 2007 +0900 pata_jmicron: match vendor and class code only PATA part of all current JMB controllers behave the same way and JMicron confirms that all future ones will stay compatible. Drop device matching and match only vendor and class. Signed-off-by: Tejun Heo Cc: Ethan Hsiao Cc: Justin Tsai Signed-off-by: Jeff Garzik commit 954bb005c9d5368188ef03ff1d723ff3c0e8ae99 Author: Tejun Heo Date: Fri Oct 5 08:54:39 2007 +0900 libata: add ST9160821AS / 3.ALD to NCQ blacklist ST9160821AS / 3.ALD also does spurious NCQ completions. Disable NCQ. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 025621f9a7c0efe1139d43d246136a0f3e8ea675 Author: Alan Cox Date: Thu Oct 4 21:32:58 2007 +0100 pata_acpi: ACPI driver support On a cable there may be eighty wires or perhaps forty and we learn about its type In the world of ACPI So we call the GTM And we find the the timing rate And we look through it to see If eighty wire it must be Timing lives in ACPI routines ACPI routines, ACPI routines Timing lives in ACPI routines ACPI routes ACPI routines And the drivers last you see Picking up unknown pci ids and the code begins to work Timing lives in ACPI routines ACPI routines, ACPI routines Timing lives in ACPI routines ACPI routes ACPI routines [Full speed ahead, Mr Hacker, full speed ahead] Full speed over here sir! Checking Cable, checking cable Aye aye, 80 wire, Heaven heaven] If we use ACPI (ACPI) Every box (every box) has all we need (has all we need) Cable type (cable type) and mode timing (mode timing) In our ATA (in our ATA) subroutines (subroutines, ha ha) Timing lives in ACPI routines ACPI routines, ACPI routines Timing lives in ACPI routines ACPI routes ACPI routines Timing lives in ACPI routines ACPI routines, ACPI routines Timing lives in ACPI routines ACPI routes ACPI routines Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit badff03df7a005d13ea2ae8ddc2f5ec0cfc049e8 Author: Alan Cox Date: Thu Oct 4 21:28:18 2007 +0100 libata-core: Expose gtm methods for driver use Talk to the dark side our driver has to, yes. Much misleading is the data. Store it in a structure we do so that it may be parsed. Signed-off-by: Alan Cox -- Whats small, old and shouts phrases out of order across mountains ? Yodla.. Signed-off-by: Jeff Garzik commit 70edb185dbaa8a9ec0d6f3e50bb5698a4e85ded6 Author: Tejun Heo Date: Thu Oct 4 17:27:59 2007 +0900 libata: add HDT722516DLA380 to NCQ blacklist HDT722516DLA380 does spurious completion of NCQ commands. Blacklist it. Signed-off-by: Tejun Heo Cc: Frans Pop Signed-off-by: Jeff Garzik commit da6f0ec2d54acf545e784363aa5bad0dafc5ffa8 Author: Paolo Ornati Date: Thu Oct 4 11:06:56 2007 +0900 libata: blacklist NCQ on Seagate Barracuda ST380817AS Seagate Barracuda ST380817AS has troubles with NCQ. For example, unpacking a tarball on an XFS filesystem gives this: ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x2 frozen ata1.00: cmd 61/40:00:29:a3:98/00:00:00:00:00/40 tag 0 cdb 0x0 data 32768 out res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) More info here: http://lkml.org/lkml/2007/1/21/76 Blacklist it! Signed-off-by: Paolo Ornati Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6ebe9d8667d3f449350cbc6686cd917ecf1f40dd Author: Jeff Garzik Date: Fri Oct 5 16:28:36 2007 -0400 [libata] Turn on ACPI by default Let's see what explodes. Signed-off-by: Jeff Garzik commit 2db78dd302d26d242d3e8e5c4c5024b6c3ea93c2 Author: Alan Cox Date: Tue Oct 2 13:53:04 2007 -0700 libata_scsi: Fix ATAPI transfer lengths Some controller variants snoop the ATAPI length value for Packet transfers to do state machine and FIFO management. Thus we want to set it properly, even for cases where it is otherwise meaningless. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 681c80b5d96076f447e8101ac4325c82d8dce508 Author: Alan Cox Date: Wed Oct 3 13:23:18 2007 +0100 libata: correct handling of SRST reset sequences Correct handling of SRST reset sequences. After an SRST it is undefined whether the drive has gone back to PIO0. In order to talk safely we should talk slowly and carefully until we know. Thus when we do the reset if the controller has a pio setup method we call it to flip back to PIO 0 and a known state. After the reset completes the identify will then be done at the safe speed and the drive/controller will pick suitable faster modes and reconfigure the controller to these timings. As a side effect it means we force the controller to PIO 0 as we bring it up which fixes funnies on a few systems where the BIOS firmware leaves us in an interesting choice of modes, or embedded boxes with no firmware which come up in random states. For smart controllers there is nothing to do - they know about this internally. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 237d8440cb2b104a3b97fc971a9bce67960bb616 Author: Matthew Garrett Date: Wed Oct 3 01:24:16 2007 +0100 libata: Integrate ACPI-based PATA/SATA hotplug - version 5 Modern laptops with hotswap bays still tend to utilise a PATA interface on a SATA bridge, generally with the host controller in some legacy emulation mode rather than AHCI. This means that the existing hotplug code in libata is unable to work. The ACPI specification states that these devices can send notifications when hotswapped, which avoids the need to obtain notification from the controller. This patch uses the existing libata-acpi code and simply registers a notification in order to trigger a rescan whenever the firmware signals an event. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit b3a706014e56b1356e7b275fd25b833c63175bf0 Author: Alan Cox Date: Tue Oct 2 12:38:26 2007 -0400 libata: Add a drivers/ide style DMA disable This is useful when debugging, handling problem systems, or for distributions just to get the system installed so it can be sorted out later. This is a bit smarter than the old IDE one and lets you do libata.dma=0 Disable all PATA DMA like old IDE libata.dma=1 Disk DMA only libata.dma=2 ATAPI DMA only libata.dma=4 CF DMA only (or combinations thereof - 0,1,3 being the useful ones I suspect) (I've split CF as it seems to be a seperate case of pain and suffering different to the others and caused by assorted PIO wired adapters etc) Signed-off-by: Alan Cox [edited to work on SATA too, changing name from 'pata_dma' to 'dma'] Signed-off-by: Jeff Garzik commit 7100819f5f9b99eb7c7dd5597f293388a405bf7b Author: Peer Chen Date: Mon Sep 24 10:16:25 2007 +0800 ahci: Add MCP79 support to AHCI driver Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit 1333e19434da116bc832e1b8925359d1565fedc9 Author: Robert Hancock Date: Tue Oct 2 11:22:02 2007 -0400 libata: add human-readable error value decoding This adds human-readable decoding of the ATA status and error registers (similar to what drivers/ide does) as well as the SATA Serror register to libata error handling output. This prevents the need to pore through standards documents to figure out the meaning of the bits in these registers when looking at error reports. Some bits that drivers/ide decoded are not decoded here, since the bits are either command-dependent or obsolete, and properly parsing them would add too much complexity. Signed-off-by: Robert Hancock [edited slightly to make output a bit more symmetric] Signed-off-by: Jeff Garzik commit 6949b9148d3656afc13a2ccc06d13c071ec71bdc Author: Tejun Heo Date: Sun Sep 23 13:19:55 2007 +0900 ahci: implement AHCI_HFLAG_NO_PMP Of course some controllers lie about PMP support. Black list them. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 417a1a6d3d7abad4c5288135f640e6e38e7a65c5 Author: Tejun Heo Date: Sun Sep 23 13:19:55 2007 +0900 ahci: move host flags over to pi.private_data Private pi.flags area is full and we need more private flags. Move host private flags over to pi.private_data. During initialization, these flags are copied to hpriv->flags. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7d50b60b5e38f910ad69f0187af00f5d6a8970d4 Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 ahci: implement PMP support Implement AHCI PMP support. ahci only supports command based switching. Also, for some reason, NCQ over PMP doesn't work now. Other than that, everything works. Tested on ICH9R, JMB360/363 + SIMG3726, 4726 and 5744. Signed-off-by: Tejun Heo Cc: Forrest Zhao Signed-off-by: Jeff Garzik commit 238180343eff95697ed71eea137cf61ba3cea6ad Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 sata_sil24: implement PORT_RST As DEV_RST (hardreset) sometimes fail to recover the controller (especially after PMP DMA CS errata). In such cases, perform PORT_RST prior to DEV_RST. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3454dc6922dc550c0d3ccf292c4e227403b10b6e Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 sata_sil24: implement PMP support Implement PMP support. sil24 supports full FIS-switching. However, it has a PMP DMA CS errata which requires port-wide resetting if commands are outstanding to three or more devices when an error occurs on one of them. ATAPI commands often result in CHECK SENSE and it's crucial to not reset them before fetching sense data. Unfortunately, ATAPI CHECK SENSE causes a lot of problem if command is outstanding to any other device usually resulting in port-wide reset. So, sata_sil24 implements sil24_qc_defer() which guarantees ATAPI command is run by itself. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 31f88384443b3e0d7e2c9d36a96647b7e82edad3 Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 libata-pmp: implement qc_defer for command switching PMP support Implement sata_pmp_qc_defer_cmd_switch() - standard qc_defer for command switching PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d0df8b5d0fb547a3351c2a4b1ded7f7cde5d713a Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 libata-pmp: extend ACPI support to cover PMP Extend ata_acpi_associate_sata_port() such that it can handle PMP and call it when PMP is attached and detached. Build breakage when !CONFIG_ATA_ACPI was spotted and fixed by Petr Vandrovec. Signed-off-by: Tejun Heo Cc: Petr Vandrovec Signed-off-by: Jeff Garzik commit 633273a3ed1cf37ced90475b0f95cf81deab04f1 Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 libata-pmp: hook PMP support and enable it Hook PMP support into libata and enable it. Connect SCR and probing functions, and update ata_dev_classify() to detect PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3af9a77af9e2b72366363864bfcd3d51465ff98a Author: Tejun Heo Date: Sun Sep 23 13:19:54 2007 +0900 libata-pmp: implement Port Multiplier support Implement Port Multiplier support. To support PMP, a LLDD has to supply ops->pmp_read() and pmp_write(). If non-null, ->pmp_attach and ->pmp_detach are called on PMP attach and detach, respectively. ->pmp_read/write() can be called while the port is frozen, so they must be implemented by polling. This patch supplies several helpers to ease ->pmp_read/write() implementation. Also, irq_handler and error_handler must be PMP aware. Most of PMP aware EH can be done by calling ata_pmp_do_eh() with appropriate methods. PMP EH uses separate set of reset methods and this patch implements standard prereset, hardreset and postreset methods. This patch only implements PMP support. The next patch will integrate PMP into the reset of libata and thus enable PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3495de733633d24ee97852080b737b436c110d6e Author: Tejun Heo Date: Sun Sep 23 13:19:53 2007 +0900 libata-pmp: update ata_eh_reset() for PMP PMP always requires SRST to be enabled. Also, hardreset reports classification code from the first device when PMP is attached, not from the PMP. Update ata_eh_reset() such that followup softreset is performed if the controller is PMP capable and the host link is being reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 93328e1145c1989d1a214d34ac4e968dea7f7ed7 Author: Alan Cox Date: Sat Sep 29 04:06:48 2007 -0400 [PATCH] libata: Fix HPA handling regression Restore the support for handling drives that report one sector too many (ie SCSI not ATA style). This worked before the HPA update but was removed in that process. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 54174db300ee1bac632d62e4ac37fe02e47d1f18 Author: Jeff Garzik Date: Sat Sep 29 04:01:43 2007 -0400 [libata] ata_piix: add HP compaq laptop to short cable list Reported by Andreas Messer. Signed-off-by: Jeff Garzik commit c4b5b7b6c4423ec4ced4177c87d2da04de324028 Author: Alan Cox Date: Sat Sep 29 02:35:10 2007 -0400 pata_ns87415: Initial cut at 87415/87560 IDE support Signed-off-by: Alan Cox [plus SuperIO fixes by Kyle McMartin] [plus a cleanup from me] Signed-off-by: Jeff Garzik commit 0b0a43e04ea671adc3cac085ee567d63c9ab3507 Author: David Milburn Date: Fri Sep 28 14:29:06 2007 -0500 libata-core: blacklist HITACHI HDS drives using wildcard blacklist matching Blacklist HITACHI HDS7250SASUN500G and HITACHI HDS7225SBSUN250G drives using wildcard matching. Signed-off-by David Milburn Signed-off-by: Jeff Garzik commit 7f567620ed32bea40a2acc25900c79db4dff96aa Author: Tejun Heo Date: Fri Sep 28 06:29:23 2007 -0700 libata: update spurious NCQ completion blacklist * The firmware version of ST3160812AS is "3.ADJ" no "3.AD". * Add several entries from various sources. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 78e70c237ffbf219680fb967624e1423e5c1f25a Author: Dave Jones Date: Thu Sep 27 11:50:13 2007 -0400 libata: correct kernel parameter in documentation. 'noacpi' isn't a standalone parameter, give it its prefix. Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit 06b74dd28fa607249c5e41e5f1f6dd1885fe0a0d Author: Alan Cox Date: Wed Sep 26 15:23:17 2007 +0100 pata_pdc202xx_old MWDMA fixes, and notes I've been doing an audit of this driver to try and find out why we have problems with some Clevo boxes that use it. Didn't get anywhere other than to discover all the bug reporters I have use vmware, which may or may not be chance. In the process however I did find out our MWDMA2 performance was a bit low and code review showed the MWDMA0/2 timings are reversed due to a thinko in the table ordering Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 21d2c925d3da6aabf9a0b34e95787202379f682a Author: Alan Cox Date: Wed Sep 26 23:02:52 2007 +0100 pata_atiixp: Audit notes on locking Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 3cc3eb1148e4b2dfabf7a1dcf36fd8be1331ca95 Author: Jeff Garzik Date: Wed Sep 26 00:02:41 2007 -0400 [libata] AHCI: enable AHCI mode, before using AHCI reset AHCI spec says host-reset bit may only be set when the ahci-enable bit is also set. Noticed by Peer Chen Signed-off-by: Jeff Garzik commit b90fe23bd51c6b1c298159591c833bdd24f55002 Author: Satyam Sharma Date: Sat Sep 22 08:20:09 2007 +0530 libata: Fix build failure on ppc64 drivers/ata/pata_scc.c Little fixlets, that the build started erroring / warning about: drivers/ata/pata_scc.c: In function 'scc_bmdma_status': drivers/ata/pata_scc.c:734: error: structure has no member named 'active_tag' drivers/ata/pata_scc.c: In function 'scc_pata_prereset': drivers/ata/pata_scc.c:866: warning: passing arg 1 of 'ata_std_prereset' from incompatible pointer type drivers/ata/pata_scc.c: In function 'scc_error_handler': drivers/ata/pata_scc.c:908: warning: passing arg 2 of 'ata_bmdma_drive_eh' from incompatible pointer type drivers/ata/pata_scc.c:908: warning: passing arg 3 of 'ata_bmdma_drive_eh' from incompatible pointer type drivers/ata/pata_scc.c:908: warning: passing arg 5 of 'ata_bmdma_drive_eh' from incompatible pointer type make[2]: *** [drivers/ata/pata_scc.o] Error 1 Signed-off-by: Satyam Sharma Cc: Alan Cox Cc: Mel Gorman Signed-off-by: Jeff Garzik commit b6d6c74628767e1bd33c735b3b2ee7b132b4198e Author: Tejun Heo Date: Fri Sep 21 17:55:44 2007 +0900 sata_via: kill SATA_PATA_SHARING register handling The SATA_PATA_SHARING register doesn't have anything to do with the SATA part of the controller. It indicates whether an extern SATA PHY is attached to the PATA part of the controller and if so how it is wired. As the PATA part is driven by pata_via, sata_via has no reason to care about that. Also, pata_via should work fine under all configurations. This patch removes unnecessary attach failures. It seems recent via chipsets are defaulting to different values or are actually connected to SATA PHY triggering this more often. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1e582ba4ef6264dd8cb73250ebff767d0624d684 Author: Tejun Heo Date: Fri Sep 21 20:07:14 2007 +0900 libata: fix ata_set_max_sectors() In ata_set_max_sectors(), the highest nibble in LBA28 mode was missing. This made drives sized between 8G and 128G with HPA turned on to be resized to under 8G. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7d77b247088fb360aa74bfdd9e19bce1e1987668 Author: Tejun Heo Date: Sun Sep 23 13:14:13 2007 +0900 libata-pmp-prep: implement sata_async_notification() AN serves multiple purposes. For ATAPI, it's used for media change notification. For PMP, for downstream PHY status change notification. Implement sata_async_notification() which demultiplexes AN. To avoid unnecessary port events, ATAPI AN is not enabled if PMP is attached but SNTF is not available. Signed-off-by: Tejun Heo Cc: Kriten Carlson Accardi Signed-off-by: Jeff Garzik commit e31e8531d668c9c4dc7883054788f89805188003 Author: Tejun Heo Date: Sun Sep 23 13:14:13 2007 +0900 libata-pmp-prep: implement ATA_HORKAGE_SKIP_PM Some pseudo devices fail PM commands unnecessarily aborting system suspend. Implement ATA_HORKAGE_SKIP_PM which makes libata skip PM commands for these devices. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 668108d73bbb1ae85f01db38d6be822fd28ece1f Author: Tejun Heo Date: Sun Sep 23 13:14:13 2007 +0900 libata-pmp-prep: implement EH fast-fail path If PMP itself becomes inaccessible while trying to link a downstream link, spending time to recover the downstream link doesn't make any sense. Make EH skip retry and fail fast if -ERESTART is received. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f9df58cb27dfd605eced643bb3aa599fe4feeee8 Author: Tejun Heo Date: Sun Sep 23 13:14:13 2007 +0900 libata-pmp-prep: implement ATA_LFLAG_DISABLED Implement ATA_LFLAG_DISABLED. The flag indicates the link is disabled due to EH recovery failure. While a link is disabled, no EH action is taken on the link and suspend/resume become noop too. This will be used by PMP links to manage failed links. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fd995f7039f1955ccc6b43e1e2d168060b31e4b2 Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: implement ATA_LFLAG_NO_RETRY Some PMP links are connected to internal pseudo devices which may come and go depending on situation. There's no reason to try hard to recover them. ATA_LFLAG_NO_RETRY tells EH to not retry if the device attached to the link fails. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ae791c05694d7391ee9261a0450a50f7e95aedfd Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: implement ATA_LFLAG_NO_SRST, ASSUME_ATA and ASSUME_SEMB Some links on some PMPs locks up on SRST and/or report incorrect device signature. Implement ATA_LFLAG_NO_SRST, ASSUME_ATA and ASSUME_SEMB to handle these quirky links. NO_SRST makes EH avoid SRST. ASSUME_ATA and SEMB forces class code to ATA and SEMB_UNSUP respectively. Note that SEMB isn't currently supported yet so the _UNSUP variant is used. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit da917d69d0ea63f5390716cba6e77f490ce96df9 Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: implement qc_defer helpers Implement ap->nr_active_links (the number of links with active qcs), ap->excl_link (pointer to link which can be used by ->qc_defer and is cleared when a qc with ATA_QCFLAG_CLEAR_EXCL completes), and ata_link_active(). These can be used by ->qc_defer() to implement proper command exclusion. This set of helpers seem enough for both sil24 (ATAPI exclusion needed) and cmd-switching PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 31cc23b34913bc173680bdc87af79e551bf8cc0d Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: implement ops->qc_defer() Controllers which support PMP have various restrictions on which combinations of commands are allowed to what number of devices concurrently. This patch implements ops->qc_defer() which determines whether a qc can be issued at the moment or should be deferred. If the function returns ATA_DEFER_LINK, the qc will be deferred until a qc completes on the link. If ATA_DEFER_PORT, until a qc completes on any link. The defer conditions are advisory and in general ATA_DEFER_LINK can be considered as lower priority deferring than ATA_DEFER_PORT. ops->qc_defer() replaces fixed ata_scmd_need_defer(). For standard NCQ/non-NCQ exclusion, ata_std_qc_defer() is implemented. ahci and sata_sil24 are converted to use ata_std_qc_defer(). ops->qc_defer() is heavier than the original mechanism because full qc is prepped before determining to defer it, but various information is needed to determine defer conditinos and fully translating a qc is the only way to supply such information in generic manner. IMHO, this shouldn't cause any noticeable performance issues as * for most cases deferring occurs rarely (except for NCQ-aware cmd-switching PMP) * translation itself isn't that expensive * once deferred the command won't be repeated until another command completes which usually is a very long time cpu-wise. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fb7fd61454c8681cd2621051a710b78a00369203 Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: make a number of functions global to libata Make a number of functions from libata-core.c and libata-eh.c global to libata (drivers/ata/libata.h). These will be used by PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 422c9daa8b5bea09f3393b11a106afd68850b39b Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: add @new_class to ata_dev_revalidate() Consider newly found class code while revalidating. PMP resetting always results in valid class code and issuing PMP commands to ATA/ATAPI device isn't very attractive. Add @new_class to ata_dev_revalidate() and check class code for revalidation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e0a7175263db4a226558883a51a88a5d2bc5d9fe Author: Tejun Heo Date: Sun Sep 23 13:14:12 2007 +0900 libata-pmp-prep: add PMP related constants, fields, ops and update helpers Add PMP related constants, fields and ops. Also, update ata_class_enabled/disabled() such that PMP classes are considered. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 854c73a2f1c3bcc4aa88c25e208dc597e8efb795 Author: Tejun Heo Date: Sun Sep 23 13:14:11 2007 +0900 libata: misc updates for AN Update AN support in preparation of PMP support. * s/ata_id_has_AN/ata_id_has_atapi_AN/ * add AN enabled reporting during configuration * add err_mask to AN configuration failure reporting * update LOCKING comment for ata_scsi_media_change_notify() * check whether ATA dev is attached to SCSI dev ata_scsi_media_change_notify() * set ATA_FLAG_AN in ahci and sata_sil24 Signed-off-by: Tejun Heo Cc: Kriten Carlson Accardi Signed-off-by: Jeff Garzik commit c78968bb0f7714ceba1cdfa23714454fc98cefdf Author: Jeff Garzik Date: Fri Sep 21 21:03:28 2007 -0400 [libata] SCSI: simulator version, not device version, belongs in VPD Signed-off-by: Jeff Garzik commit 24f756866676b40446e361c1f87738707161da93 Author: Jeff Garzik Date: Fri Sep 21 07:54:49 2007 -0400 [libata] SCSI: clean up R/W recovery mode page Clear ARRE, we don't do auto-reallocation on reads, just on writes. Also, hardcode the size of the array using RW_RECOVERY_MPAGE_LEN, following the style of the surrounding code. Signed-off-by: Jeff Garzik commit 00bd02027fc4a5cf92a3e538896b3642b40515df Author: Jeff Garzik Date: Fri Sep 21 07:26:08 2007 -0400 [libata] SCSI: improve FORMAT UNIT; minor code cleanups * SAT specifies that FORMAT UNIT should be translated into a series of READ and WRITE commands that zero the ATA device. That is far too cumbersome to bother with. Since we don't actually format the device, the old behavior of always returning success was inaccurate. Change FORMAT UNIT from returning success immediately (old behavior) to always returning an error (new behavior). * Add some comments around SYNCHRONIZE CACHE * Shuffle scsi command code around a bit, so that things are close to alphabetic order. Signed-off-by: Jeff Garzik commit 453941455218a81eedcea5dbafa38b8815920a8c Author: Jeff Garzik Date: Fri Sep 21 06:23:42 2007 -0400 [libata] Slightly improved no-op REQUEST SENSE, SEND DIAGNOSTIC A few pedantic apps care about missing or lame "mandatory" SCSI commands, so REQUEST SENSE -- as we autosense, R.S. just returns zeroes SEND DIAGNOSTIC -- our default (no-op) self-test succeeds, all other requests for testing fail. Signed-off-by: Jeff Garzik commit ad355b4628a19ba2af30409e13083edda221a5c9 Author: Jeff Garzik Date: Fri Sep 21 20:38:03 2007 -0400 [libata] SCSI: support INQUIRY page 89h (ATA info page) Signed-off-by: Jeff Garzik commit d4155e6f13e931048036976d9fb47b5db53ee7a3 Author: Jason Gaston Date: Thu Sep 20 17:35:00 2007 -0400 ahci: RAID mode SATA patch for Intel Tolapai Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit d7fbee050753e153622b5d41bc8bd1cb19cda9b9 Author: Tejun Heo Date: Sun Sep 2 23:24:48 2007 +0900 libata: assume ATA_DEV_ATA on diagnostic failure Certain device which reports diagnostic failure also reports invalid device signature. Assume ATA_DEV_ATA on diagnostic failure if reset indicates device presence. This is fix for bugzilla bug 8784. http://bugzilla.kernel.org/show_bug.cgi?id=8784 Signed-off-by: Tejun Heo Acked-by: Alan Cox Cc: Edward Amsden Signed-off-by: Jeff Garzik commit 3f19859ee95a38c066a0420eb8a30c76ecd67a42 Author: Tejun Heo Date: Sun Sep 2 23:23:57 2007 +0900 libata: update ata_dev_try_classify() arguments Make ata_dev_try_classify() take a pointer to ata_device instead of ata_port/port_number combination for consistency and add @present argument. @present indicates whether the device seems present during reset. It's the result of TF access during softreset and link onlineness during hardreset. @present will be used to improve diagnostic failure handling. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7a234aff3d83728fd83cf19df32d3df52566d2ac Author: Tejun Heo Date: Mon Sep 3 12:44:57 2007 +0900 ahci: reimplement port_map handling Reimplement port_map handling such that 1. Non-zero PORTS_IMPL value is always examined and used if consistent with cap.n_ports. 2. When PI and cat.n_ports are inconsistent, honor cap.n_ports and force port_map to be ((1 << cap.n_ports) - 1). 3. There were two separate places dealing with port_map. Unify them to one. As all newer ahci chips seem to get PI correct and older ones usually have zero PI. Controllers with holes in PI are very unlikely to screw up PI, so #2 makes more sense than following inconsistent PI. Without this change, not setting ATA_FLAG_HONOR_PI when it's needed results in weird detection failure. This changed logic should be able to handle all known cases correctly automatically. Verified on ICH6 (reports 0 PI), ICH8 (with holes in port_map), ICH9, JMB360 and JMB363. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 05027adccc09401a7e31d5ef51040dc75ab03c22 Author: Tejun Heo Date: Mon Sep 3 12:32:57 2007 +0900 libata: remiplement ata_hpa_resize() This patch reimplement ata_hpa_resize() such that... * All HPA related decisions are made inside ata_hpa_resize() proper. ata_hpa_resize() returns 0 if configuration can proceed, -errno if device needs to be reset and reconfigured. * All errors are handled properly. If HPA unlocking isn't requested, HPA handling is disabled automatically to avoid unnecessary device detection failure. * Messages are trimmed. HPA detection message is printed only during initial configuration. HPA unlocked message is printed only during initial configuration or unlocking results in different size. * Instead of using sectors returned in TF of SET_MAX, re-read IDENTIFY data as that's the value the device is going to use. * It's called early during ata_dev_configure() as IDENTIFY data might change after resizing. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c728a9149f519cbb9f610962873f4e22ed4a6efd Author: Tejun Heo Date: Mon Sep 3 12:32:30 2007 +0900 libata: clean up read/set native_max address functions Merge ata_read_native_max_addres_ext() into ata_read_native_max_address() and combine ata_set_native_max_address_ext() and ata_set_native_max_address() into ata_set_max_sectors(). * reduce duplicate code * return 0 or -errno depending on error conditions * report if command fails * use ATA_LBA instead of 0x40 This is in preparation of ata_hpa_resize() update. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit db6f8759d05d2082f09a45b5674edc0fb5e92b1b Author: Tejun Heo Date: Mon Sep 3 12:31:58 2007 +0900 libata: move ata_id_n_sectors() upward Move ata_id_n_sectors() upward right below ata_id_c_string(). This is to accomodate later changes. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2557164e0b18e78a7772632a2a90832f56181fc5 Author: Kristen Carlson Accardi Date: Tue Sep 11 11:41:59 2007 -0700 ata: increase allowed config flags In anticipation of more features, increase number of config flags allowed, and move the init flags. Signed-off-by: Kristen Carlson Accardi Cc: Hugh Dickens Signed-off-by: Jeff Garzik commit e2d352af6d8f1734394bc1bcf0afe345cc3ef235 Author: Jason Gaston Date: Fri Sep 7 17:21:03 2007 -0700 ata_piix: replace spaces with tabs This patch removes some incorrect formatting spaces and replaces them with tabs. Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit 7120165cf31e989baf7836218ca0a13643074735 Author: Boaz Harrosh Date: Tue Sep 18 17:48:50 2007 +0200 libata-scsi: convert to use the data buffer accessors simple search-and-replace of direct scsi_cmnd access to use the data buffer accessors. Signed-off-by: Boaz Harrosh Signed-off-by: Jeff Garzik commit e10b8c3f5f23188e065b1845ba732570eca007fe Author: Boaz Harrosh Date: Tue Sep 18 17:46:12 2007 +0200 libata-scsi: Remove !use_sg code paths This is a minimal patch needed to remove use of !use_sg but it is not a complete clean up of the !use_sg paths. Libata-core still has the qc->flags & ATA_QCFLAG_SG and !qc->n_elem code paths. Perhaps an ata maintainer would have a go at it. - TODO: further cleanup of qc->flags & ATA_QCFLAG_SG and !qc->n_elem code paths in libata-core - TODO: Use scsi_dma_{map,unmap} where applicable. Signed-off-by: Jeff Garzik commit d2a84f47899d1efc24fa610696f7b793692279c7 Author: Alan Cox Date: Thu Sep 20 15:07:12 2007 +0100 pdc2027x: Switch properly to ioread/iowrite Some iomap functions were still using readl/writel and friends which happens to work on most platforms but is not correct. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c645fd34256e8ef4986d3e8acd569890cc421e5d Author: Alan Cox Date: Thu Sep 20 14:58:48 2007 +0100 libata: Update experimental tags to reflect reality better Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 539cc7c70c12fbdad4ee11f901cd7a0d7f52b186 Author: Jeff Garzik Date: Thu Sep 20 16:31:47 2007 -0400 [libata] blacklist Maxtor*BANC* using new wildcard blacklist matching Support the use of '*' in model_num and model_rev entries in ata_device_blacklist[]. Based largely on David Milburn's "libata-core: support wildcard matching in ata_blacklist_entry" patch. Signed-off-by: Jeff Garzik commit ec300d99ef8699a6f383889b8f8c0d0ebadc2a74 Author: Jeff Garzik Date: Sat Sep 1 07:17:36 2007 -0400 [libata] ata_piix: Use more-robust form of array initialization Use a form of array init that is less fragile, less sensitive to trivial typos and ordering mismatches. Signed-off-by: Jeff Garzik commit 7c9ef8e418374aec0a62e64d9b40d457634fd039 Author: Kristoffer Nyborg Gregertsen Date: Wed Aug 8 16:57:08 2007 +0200 AVR32 PATA driver Updated and simplified driver. Use only register transfer timing for both data and register transfers. This gives poorer performance in PIO1 and 2, but should not be a problem in PIO3 and 4, correct me if I'm wrong :) The driver works very we'll but I still wonder about the interrupts. I have an interrupt line, that works nicely when POLLING flag is not set. The problem is the number of interrupts that eat away my CPU cycles. When using the POLLING flag there seem to be some interrupts that dosen't get cleared. Furthermore the device dosen't drive INTRQ high, it stays at 2.5 volts and generates a lot of interrupts due to ripple / noise. What to do? Signed-off-by: Kristoffer Nyborg Gregertsen Signed-off-by: Jeff Garzik commit d830d1731fa5906aad20c228ac8b73005b13d468 Author: Sonic Zhang Date: Tue Aug 21 13:12:31 2007 +0800 libata driver for bf548 on chip ATAPI controller. Fix all issues pointed out in Jeff's email. Acked-by: Alan Cox Signed-off-by: Sonic Zhang Signed-off-by: Jeff Garzik commit a1e10f7e68a544c80081fee4fa550dc28389f44a Author: Tejun Heo Date: Sat Aug 18 13:28:49 2007 +0900 libata: move EH repeat reporting into ata_eh_report() EH is sometimes repeated without any error or action. For example, this happens when probing IDENTIFY fails because of a phantom device. In these cases, all the repeated EH does is making sure there is no unhandled error or pending action and return. This repeation is necessary to avoid losing any event which occurred while EH was in progress. Unfortunately, this dry run causes annonying "EH pending after completion" message. This patch moves the repeat reporting into ata_eh_report() such that it's more compact and skipped on dry runs. Signed-off-by: Tejun Heo Cc: Mikael Pettersson Signed-off-by: Jeff Garzik commit cbcdd87593a1d85c5c4b259945a3a09eee12814d Author: Tejun Heo Date: Sat Aug 18 13:14:55 2007 +0900 libata: implement and use ata_port_desc() to report port configuration Currently, port configuration reporting has the following problems. * iomapped address is reported instead of raw address * report contains irrelevant fields or lacks necessary fields for non-SFF controllers. * host->irq/irq2 are there just for reporting and hacky. This patch implements and uses ata_port_desc() and ata_port_pbar_desc(). ata_port_desc() is almost identical to ata_ehi_push_desc() except that it takes @ap instead of @ehi, has no locking requirement, can only be used during host initialization and " " is used as separator instead of ", ". ata_port_pbar_desc() is a helper to ease reporting of a PCI BAR or an offsetted address into it. LLD pushes whatever description it wants using the above two functions. The accumulated description is printed on host registration after "[S/P]ATA max MAX_XFERMODE ". SFF init helpers and ata_host_activate() automatically add descriptions for addresses and irq respectively, so only LLDs which isn't standard SFF need to add custom descriptions. In many cases, such controllers need to report different things anyway. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e923090ddd9fef1d4e06dc6c5295e29baced19f3 Author: Albert Lee Date: Mon Aug 20 16:56:29 2007 +0800 libata: pata_pdc2027x PLL detection minor cleanup Minor cleanup to remove the unneeded rmb()s per Jeff's advice. Also removed the pll_clock < 0 check since pll_clock now guaranteed to be >= 0 after Mikael's patch. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit c7293870a93a99e9ce0f4d98f3a271539c7c6ad6 Author: Alan Cox Date: Wed Aug 22 23:31:43 2007 +0100 libata: Strict checking for identify reporting The ATA specifications require checks on certain flags before assuming the validity of other data. Go through the methods and correct those needing extra checks. Also note limits on ata_id_major_version with respect to ATA-1 and ATA-2. Correct the 32bit PIO check. Wants to sit in -mm for a bit in case of a screwup on my part that I didn't hit on the test drives and also in case someone, somewhere has a drive that gets it wrong. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 614fe29bd91f99cc1c1fbf3274fa918691044f47 Author: Alan Cox Date: Wed Aug 22 23:22:45 2007 +0100 libata: Spot bridge chips If we have a PATA cable with a SATA drive on it then we've found a bridge and we can flip the cable type. This fixes some cable detect problems with SATA bridges on chipsets and misdetected cable types. In theory cable detection and mode limiting is needed if you put a SATA/PATA bridge on a 40 wire cable, but I see no way to deal with that other than to point out its not a good idea anyway. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 4743d0854faa5624148ac6cf3fe9692e977eefa1 Author: Alan Cox Date: Wed Aug 22 23:12:50 2007 +0100 libata-portmap: Remove unused definitions With the PCI layer properly handling legacy IDE and the kernel now using it these can go Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 81ad1837b590775336f68eafcae8dab13a975b3a Author: Alan Cox Date: Wed Aug 22 22:55:41 2007 +0100 libata: Switch most of the remaining SFF drivers to ata_sff_port_start This avoids allocating DMA buffers if not needed but at the moment is mostly just a neatness item. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit ac8869d56d95a8c74403e6f7a47d74fcfcc1b988 Author: Jeff Garzik Date: Thu Aug 16 03:17:03 2007 -0400 [libata] Remove ->port_disable() hook It was always set to ata_port_disable(). Removed the hook, and replaced the very few ap->ops->port_disable() callsites with direct calls to ata_port_disable(). Signed-off-by: Jeff Garzik commit 7d73a363dea186a864f6295bbe842da8044d42cd Author: Alan Cox Date: Thu Jul 26 18:38:06 2007 +0100 libata pata_via: ACPI checks for 80wire cable Testing this on the VIA boards fixes several problems with otherwise undetectable SATA bridge chips Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e708eb9bc0515f36d77477877e74b6b9056b5879 Author: Alan Cox Date: Thu Jul 26 18:37:28 2007 +0100 libata pata_amd: ACPI checks for 80wire cable We can make use of this on the pata_amd driver as many Nvidia devices don't have reliable cable detect. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e1ddb4b6a2c9b2c72991eb8640ef2f50691ac502 Author: Alan Cox Date: Thu Aug 16 02:33:36 2007 -0400 [libata] add ACPI cable detect API Combined from two Alan Cox patches: 1) libata: ACPI checks for 80wire cable We can use the ACPI mode information with several drivers as a hint to cable type. If the ACPI mode set by the BIOS is faster than UDMA33 then we know the BIOS thinks there are 80wire cables. If it doesn't set such a mode or it has no ACPI method then we get no further information and can rely on existing approaches Introduce the function headers needed. Null it out for non ACPI boxes Signed-off-by: Alan Cox 2) libata: ACPI checks for 80wire cable Provide actual methods for checking if the ACPI support thinks the cable is 80wire, or doesn't know Signed-off-by: Alan Cox Combined into a single changeset and Signed-off-by: Jeff Garzik commit 6d32d30f55020d766388df7515f771f68c973033 Author: Jeff Garzik Date: Wed Aug 15 05:38:46 2007 -0400 [libata] Remove ->irq_ack() hook, and ata_dummy_irq_on() * ->irq_ack() is redundant to what the irq handler already performs... chk-status + irq-clear. Furthermore, it is only called in one place, when screaming-irq-debugging is enabled, so we don't want to bother with a hook just for that. * ata_dummy_irq_on() is only ever used in drivers that have no callpath reaching ->irq_on(). Remove .irq_on hook from those drivers, and the now-unused ata_dummy_irq_on() Signed-off-by: Jeff Garzik commit cb94c1cf5a6beffbd8935eb91227df0dd1987644 Author: Tejun Heo Date: Mon Jul 30 14:24:15 2007 +0900 libata: add printf format attribute to ehi desc functions Tell the compiler that [__]ata_ehi_push_desc() functions take printf style format string and arguments. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1552945669b4fb23bff8d3b30221bfe3ade63515 Author: Tejun Heo Date: Mon Jul 30 14:23:03 2007 +0900 libata: use ata_port_printk() in ata_wait_idle() ata_wait_idle() identified controller by printing out the address of the Status register. This is bogus because 1. it's iomapped address 2. some controllers don't have Status register and don't initialize the field. Use ata_port_printk() instead. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b8773531cc54c1ed10c8ec301353ee6b53b601a5 Author: Andrew Morton Date: Fri Aug 10 13:59:33 2007 -0700 libata-add-irq_flags-to-struct-pata_platform_info-fix Remove unneeded, undesirable cast of void*. Cc: Jeff Garzik Cc: Sonic Zhang Cc: Tejun Heo Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2eb829e934abb10db36ddaacd82603c3cdd98b6d Author: Christian Lamparter Date: Fri Aug 10 13:59:51 2007 -0700 ata_piix: disallow UDMA 133 on ICH5 & ICH7 There is another outstanding issue with ata_piix.c. Intel has never officially supported anything faster than PATA 100MB/s. But, the ata_piix.c driver "define" the ICH5 & ICH7 as UDMA6 (aka 133MB/s) capable. [ Well, no one has probably noticed it before, because there is bug in do_pata_set_dmamode... Just look at libata_atapiix_enable_real_udma133.patch and you'll see what wrong with it. ] Here are Intel's datasheets for the affected chipsets: ICH5 Datasheet: http://www.intel.com/design/chipsets/datashts/252516.htm (See note on page 183: "... the ICH5 supports reads at the maximum rate of 100MB/s.") ICH7 Datasheet: http://www.intel.com/design/chipsets/datashts/307013.htm (See first note on page 190: "... the ICH7 supports reads at the maximum rate of 100MB/s.") They are two different ways to deal with it: - Either - 1. replace all ich_pata_133 with ich_pata_100. (libata_atapiix_disable_udma6.diff - diff from 2.6.22 ) - Or - 2. keep all ich_pata_133 and fix the bug in "do_pata_set_dmamode". (libata_atapiix_enable_real_udma133.patch - diff from 2.6.22) If there are any concerns about the safety of the patch patch: http://lkml.org/lkml/2007/7/6/292 (It was already tested by an Intel employee, but I guess a bit more user input is necessary here... ) This patch implements 1. Cc: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Christian Lamparter Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a738492501eaf6e266acc53a064552b3fcc706b2 Author: Kristen Carlson Accardi Date: Thu Aug 9 14:23:41 2007 -0700 ahci: Store interrupt value Use a stored value for which interrupts to enable. Changing this allows us to selectively turn off certain interrupts later and have them stay off. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 2f2949680ad89d606db838340b17c30216c0bb0f Author: Kristen Carlson Accardi Date: Wed Aug 15 04:11:25 2007 -0400 [libata] ahci: send event when AN received When we get an SDB FIS with the 'N' bit set, we should send an event to user space to indicate that there has been a media change. This will be done via the scsi device. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 9f45cbd3f0fc597530aaf85cad7fe52cd63f1fd8 Author: Kristen Carlson Accardi Date: Wed Aug 15 03:57:11 2007 -0400 [libata] check for SATA async notify support Check to see if an ATAPI device supports Asynchronous Notification. If so, enable it, if the host controller supports AN. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 05d1efffdc9bf84311bb1a3c2e3db55b544ca119 Author: Alan Cox Date: Fri Aug 10 13:59:49 2007 -0700 pata_cmd64x: Set up MWDMA modes properly Set the MWDMA timing by updating the correct registers. Split the PIO path as this is mostly shared code. Wants testing. Signed-off-by: Alan Cox Tested-by: Mikael Pettersson Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4f34337b1f6f7c1e0f2e3c938eb9eadd340593fe Author: Alan Cox Date: Wed Aug 8 14:30:31 2007 +0100 libata: Note that our cache flush code needs fixing up Remembered this while doing auditing and code review versus the specs Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 50a99018787aa1aed812e09ad5b27647475656a0 Author: Alan Cox Date: Wed Aug 8 14:27:00 2007 +0100 libata-core: Document some limits/assumptions about ID_ATA Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit baf4fdfaaf5cb9f4fb1c341c8cef60a64e580582 Author: Mark Lord Date: Wed Aug 8 01:08:45 2007 +0900 libata: add support for ATA_16 on ATAPI Add support for issuing ATA_16 passthru commands to ATAPI devices managed by libata. It requires the previous CDB length fix patch. A boot/module parameter, "atapi_passthru16=0" can be used to globally disable this feature, if ever desired. tj: restructured __ata_scsi_queuecmd() according to Jeff's suggestion. Signed-off-by: Mark Lord Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4cc980b34b2a25f600576dcd11de388bc44e1ebd Author: Albert Lee Date: Wed Aug 15 03:19:45 2007 -0400 libata: move ata_altstatus() to pio data xfer functions Move ata_altstatus() out from ata_hsm_move() to the pio data xfer functions like ata_pio_sectors() and atapi_pio_bytes() where it makes more sense. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 0bc2a79a2002e3cc1b514c100b6c576983da6a90 Author: Alan Cox Date: Tue Jul 31 14:01:48 2007 +0100 libata: Correct IORDY handling Debugging a report of a problem with an ancient solid state disk showed up some problems in the IORDY handling 1. We check the wrong bit to see if the device has IORDY 2. Even then some ancient creaking piles of crap don't support SETXFER at all. The cases it fixes are obscure and the risk of side effects is slight but possible. This also moves us slightly closer to supporting original MFM/RLL disks with libata. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e3667ebf857ba744b5211c90d46f6a17dd9a2479 Author: Tejun Heo Date: Mon Aug 6 18:36:24 2007 +0900 libata-link: update Power Management to handle PMP links Update Power Management to consider PMP links. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 41bda9c98035dd3589b02cbc1de02f71d2faf9c8 Author: Tejun Heo Date: Mon Aug 6 18:36:24 2007 +0900 libata-link: update hotplug to handle PMP links Update hotplug to handle PMP links. When PMP is attached, the PMP number corresponds to C of SCSI H:C:I:L. While at it, change argument to ata_find_dev() to @devno from @id to avoid confusion with SCSI device ID. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9b1e2658faf3f3095a96558c333b333c0e29dbc0 Author: Tejun Heo Date: Mon Aug 6 18:36:24 2007 +0900 libata-link: update EH to deal with PMP links Update ata_eh_autopsy(), ata_eh_report(), ata_eh_revalidate_and_attach() and ata_eh_recover() to deal with PMP links. ata_eh_autopsy() and ata_eh_report() updates are straightforward. They just repeat the same operation over all configured links. The only change to ata_eh_revalidate_and_attach() is avoiding calling ->cable_select() on non-host ports. ata_eh_recover() update is more complex as it first processes all resets and then performs the rest. This is necessary as thawing with some links in unknown state can be dangerous. ehi->action is cleared on successful recovery of a link to avoid repeating recovery due to failures in other links. ata_eh_recover() iterates over only PMP links if PMP is attached, and, on failure, the failing link is returned in @failed_link instead of disabling devices directly. These are to integrate ata_eh_recover() into PMP EH later. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cf1b86c8ab41fe2b2a2eb59c9a2ea9a7e463653a Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: update ata_scsi_error() to handle PMP links Update ata_scsi_error() to handle PMP links. As error conditions can occur on both host and PMP links, __ata_port_for_each_link() is used. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8989805d6d176aa32c0e9a68a536aa4c8ef5231c Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: add PMP links Add link->pmp, ap->nr_pmp_links, ap->pmp_link[], and implement/update link helpers. printk helpers are updated such that port and link are identifed as 'ataP:' if no PMP is attached, while device is identified as 'ataP.DD:'. If PMP is attached, they become 'ataP:', 'ataP.LL:' and 'ataP.LL' - ie. link and device are identified their PMP number. If PPM is attached (ap->nr_pmp_links != 0), ata_for_each_link() iterates over PMP links, while __ata_for_each_link() iterates over the host link + PMP links. If PMP is not attached (ap->nr_pmp_links == 0), both iterate over only the host link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit dbd826168d6267a26cf20cd233f6730f8d8047d6 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: implement ata_link_abort() Implement ata_link_abort(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4fb37a25b976e8d1b34461330b3f2c6d9b94c133 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: separate out link initialization functions Separate out link initialization into ata_link_init() and ata_link_init_sata_spd(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0c88758b5a6325428aaadab619886242db20ceae Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: make two port flags HRST_TO_RESUME and SKIP_D2H_BSY link flags HRST_TO_RESUME and SKIP_D2H_BSY are link attributes. Move them to ata_link->flags. This will allow host and PMP links to have different attributes. ata_port_info->link_flags is added and used by LLDs to specify these flags during initialization. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0260731f0187840e272bfa10d3ba0f3e417976f5 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: linkify config/EH related functions Make the following functions deal with ata_link instead of ata_port. * ata_set_mode() * ata_eh_autopsy() and related functions * ata_eh_report() and related functions * suspend/resume related functions * ata_eh_recover() and related functions Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cc0680a580b5be81a1ca321b58f8e9b80b5c1052 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: linkify reset Make reset methods and related functions deal with ata_link instead of ata_port. * ata_do_reset() * ata_eh_reset() * all prereset/reset/postreset methods and related functions This patch introduces no behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 955e57dfde4ff75e4d7329ac7a3d645b16015309 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: linkify EH action helpers Make ata_eh_about_to_do() and ata_eh_done() deal with ata_link instead of ata_port. This patch introduces no behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 936fd7328657884d5a69a55666c74a55aa83ca27 Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: linkify PHY-related functions Make the following PHY-related functions to deal with ata_link instead of ata_port. * sata_print_link_status() * sata_down_spd_limit() * ata_set_sata_spd_limit() and friends * sata_link_debounce/resume() * sata_scr_valid/read/write/write_flush() * ata_link_on/offline() This patch introduces no behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f58229f8060055b08b34008ea08f31de1e2f003c Author: Tejun Heo Date: Mon Aug 6 18:36:23 2007 +0900 libata-link: implement and use link/device iterators Multiple links and different number of devices per link should be considered to iterate over links and devices. This patch implements and uses link and device iterators - ata_port_for_each_link() and ata_link_for_each_dev() - and ata_link_max_devices(). This change makes a lot of functions iterate over only possible devices instead of from dev 0 to dev ATA_MAX_DEVICES. All such changes have been examined and nothing should be broken. While at it, add a separating comment before device helpers to distinguish them better from link helpers and others. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9af5c9c97dc9d599281778864c72b385f0c63341 Author: Tejun Heo Date: Mon Aug 6 18:36:22 2007 +0900 libata-link: introduce ata_link Introduce ata_link. It abstracts PHY and sits between ata_port and ata_device. This new level of abstraction is necessary to support SATA Port Multiplier, which basically adds a bunch of links (PHYs) to a ATA host port. Fields related to command execution, spd_limit and EH are per-link and thus moved to ata_link. This patch only defines the host link. Multiple link handling will be added later. Also, a lot of ap->link derefences are added but many of them will be removed as each part is converted to deal directly with ata_link instead of ata_port. This patch introduces no behavior change. Signed-off-by: Tejun Heo Cc: James Bottomley Signed-off-by: Jeff Garzik commit 640fdb504941fa2b9f6f274716fc9f97f2bf6bff Author: Jeff Garzik Date: Fri Aug 3 11:10:07 2007 -0400 [libata] pdc_adma: convert to new exception handling (EH) framework Signed-off-by: Jeff Garzik commit e7b34019606ab1dd06196635e931b0c302799228 Author: Mark Fasheh Date: Mon Sep 24 14:25:27 2007 -0700 ocfs2: Optionally return filldir errors Modify ocfs2_dir_foreach_blk() to optionally return any error from the filldir callback. This way ocfs2_dirforeach() can terminate early, as opposed to always passing through the entire directory. This fixes a bug introduced during a previous code refactor where ocfs2_empty_dir() would loop infinitely. Signed-off-by: Mark Fasheh commit 5b6a3a2b4a5f071d170f8122038dd647a84810a8 Author: Mark Fasheh Date: Thu Sep 13 16:33:54 2007 -0700 ocfs2: Write support for directories with inline data Create all new directories with OCFS2_INLINE_DATA_FL and the inline data bytes formatted as an empty directory. Inode size field reflects the actual amount of inline data available, which makes searching for dirent space very similar to the regular directory search. Inline-data directories are automatically pushed out to extents on any insert request which is too large for the available space. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 23193e513d1cd69411469f028d56fd175d4a6b07 Author: Mark Fasheh Date: Wed Sep 12 13:01:18 2007 -0700 ocfs2: Read support for directories with inline data This splits out extent based directory read support and implements inline-data versions of those functions. All knowledge of inline-data versus extent based directories is internalized. For lookups the code uses ocfs2_find_entry_id(), full dir iterations make use of ocfs2_dir_foreach_blk_id(). Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 1afc32b952335f665327a1a9001ba1b44bb76fd9 Author: Mark Fasheh Date: Fri Sep 7 14:46:51 2007 -0700 ocfs2: Write support for inline data This fixes up write, truncate, mmap, and RESVSP/UNRESVP to understand inline inode data. For the most part, the changes to the core write code can be relied on to do the heavy lifting. Any code calling ocfs2_write_begin (including shared writeable mmap) can count on it doing the right thing with respect to growing inline data to an extent tree. Size reducing truncates, including UNRESVP can simply zero that portion of the inode block being removed. Size increasing truncatesm, including RESVP have to be a little bit smarter and grow the inode to an extent tree if necessary. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 6798d35a31c413bbb3f83bbaa844bd2598168ccc Author: Mark Fasheh Date: Fri Sep 7 14:05:51 2007 -0700 ocfs2: Read support for inline data This hooks up ocfs2_readpage() to populate a page with data from an inode block. Direct IO reads from inline data are modified to fall back to buffered I/O. Appropriate checks are also placed in the extent map code to avoid reading an extent list when inline data might be stored. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 15b1e36bdb487d67ef924a37b0967453143be53a Author: Mark Fasheh Date: Fri Sep 7 13:58:15 2007 -0700 ocfs2: Structure updates for inline data Add the disk, network and memory structures needed to support data in inode. Struct ocfs2_inline_data is defined and embedded in ocfs2_dinode for storing inline data. A new inode field, i_dyn_features, is added to facilitate tracking of dynamic inode state. Since it will be used often, we want to mirror it on ocfs2_inode_info, and transfer it via the meta data lvb. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 8553cf4f360d6fc4913a0bdd3b22dd7b5bb9a3be Author: Mark Fasheh Date: Thu Sep 13 16:29:01 2007 -0700 ocfs2: Cleanup dirent size check The check to see if a new dirent would fit in an old one is pretty ugly, and it's done at least twice. Clean things up by putting this in it's own easier-to-read function. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 38760e243249f03b4c6d78ca624dd846a2681b67 Author: Mark Fasheh Date: Tue Sep 11 17:21:56 2007 -0700 ocfs2: Rename cleanups ocfs2_rename() does direct manipulation of the dirent it's gotten back from a directory search. Wrap this manipulation inside of a function so that we can transparently change directory update behavior in the future. As an added bonus, this gets rid of an ugly macro. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit be94d11704ef79030fd2e6a0c41b4a7f65f9e860 Author: Mark Fasheh Date: Tue Sep 11 15:22:06 2007 -0700 ocfs2: Provide convenience function for ino lookup A couple paths which needed to just match a parent dir + name pair to an inode number were a bit messy because they had to deal with ocfs2_find_files_on_disk() which returns a larger number of values. Provide a convenience function, ocfs2_lookup_ino_from_name() which internalizes all the extra accounting. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 0bfbbf62a8b5a129ba2c689283bfece80a601aba Author: Mark Fasheh Date: Wed Sep 12 11:19:00 2007 -0700 ocfs2: Implement ocfs2_empty_dir() as a caller of ocfs2_dir_foreach() We can preserve the behavior of ocfs2_empty_dir(), while getting rid of the open coded directory walk by just providing a smart filldir callback. This also automatically gets to use the dir readahead code, though in this case any advantage is minor at best. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 5eae5b96fc86e6c85f5f90e90fe9e6966f1fec63 Author: Mark Fasheh Date: Mon Sep 10 17:50:51 2007 -0700 ocfs2: Remove open coded readdir() ocfs2_queue_orphans() has an open coded readdir loop which can easily just use a directory accessor function. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 7e8536797d4508ddc790cc3af6a281db1582d485 Author: Mark Fasheh Date: Mon Sep 10 17:30:26 2007 -0700 ocfs2: Pass raw u64 to filldir filldir_t can take this, so don't turn de->inode into a 32 bit value. Right now this doesn't make a difference since no ocfs2 inodes overflow that, but it could be a nasty surprise later on if some kernel code is calling ocfs2_dir_foreach_blk() and expecting real inode numbers back... Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit b8bc5f4fde376c9eee524a9a2b7e85560e604e85 Author: Mark Fasheh Date: Mon Sep 10 17:17:52 2007 -0700 ocfs2: Abstract out core dir listing functionality Put this in it's own function so that the functionality can be overridden. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 316f4b9f98a353ac1be93199694fd97272378815 Author: Mark Fasheh Date: Fri Sep 7 18:21:26 2007 -0700 ocfs2: Move directory manipulation code into dir.c The code for adding, removing, deleting directory entries was splattered all over namei.c. I'd rather have this all centralized, so that it's easier to make changes for inline dir data, and eventually indexed directories. None of the code in any of the functions was changed. I only removed the static keyword from some prototypes so that they could be exported. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 1d410a6e337a0d2d5543ad1d9bccb670a7a05312 Author: Mark Fasheh Date: Fri Sep 7 14:20:45 2007 -0700 ocfs2: Small refactor of truncate zeroing code We'll want to reuse most of this when pushing inline data back out to an extent. Keeping this part as a seperate patch helps to keep the upcoming changes for write support uncluttered. The core portion of ocfs2_zero_cluster_pages() responsible for making sure a page is mapped and properly dirtied is abstracted out into it's own function, ocfs2_map_and_dirty_page(). Actual functionality doesn't change, though zeroing becomes optional. We also turn part of ocfs2_free_write_ctxt() into a common function for unlocking and freeing a page array. This operation is very common (and uniform) for Ocfs2 cluster sizes greater than page size, so it makes sense to keep the code in one place. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 65ed39d6ca78f07d2958814e08440e4264b6b488 Author: Mark Fasheh Date: Tue Aug 28 17:13:23 2007 -0700 ocfs2: move nonsparse hole-filling into ocfs2_write_begin() By doing this, we can remove any higher level logic which has to have knowledge of btree functionality - any callers of ocfs2_write_begin() can now expect it to do anything necessary to prepare the inode for new data. Signed-off-by: Mark Fasheh Reviewed-by: Joel Becker commit 92e91ce2a30b2af53ebf077512801dc01e75cca5 Author: Mark Fasheh Date: Thu Sep 20 11:19:20 2007 -0700 ocfs2: Sync ocfs2_fs.h with ocfs2-tools ocfs2-tools added some on-disk fields and flags which are used by tunefs.ocfs2. Signed-off-by: Mark Fasheh commit bddb8eb37f1460fc19e1af16010c9ad4ca3717a6 Author: Denis Cheng Date: Thu Sep 27 02:10:04 2007 +0800 [PATCH] fs/ocfs2/: removed unneeded initial value and function's return value Signed-off-by: Denis Cheng Signed-off-by: Mark Fasheh commit d550071c03f129a60dfad60d23dab73f894129a9 Author: Sunil Mushran Date: Thu Sep 6 13:34:16 2007 -0700 ocfs2: Implement show_options() Implement sops->show_options() so as to allow /proc/mounts to show the mount options. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 19b613d41051296be628581e7e21b847e9eaba80 Author: Mark Fasheh Date: Thu Oct 4 14:47:09 2007 -0700 ocfs2: Clear slot map when umounting a local volume This is technically harmless (recovery will clean it out later), but leaves a bogus entry in the slot_map which really shouldn't be there. Signed-off-by: Mark Fasheh commit 015452b15ff6c2d9fa1f82f28d61e7a66e2df86a Author: Mark Fasheh Date: Wed Sep 12 10:21:22 2007 -0700 ocfs2: Remove unused structure field c_used_tail_recs in struct ocfs2_merge_ctxt is only ever set, so we can remove it. Signed-off-by: Mark Fasheh commit 518d7269f3c9129ae51d5f804edff998ab945a40 Author: Tao Mao Date: Tue Aug 28 17:25:35 2007 -0700 ocfs2: remove unused variable delete_tail_recs in ocfs2_try_to_merge_extent() was only ever set, remove it. Signed-off-by: Tao Mao Signed-off-by: Mark Fasheh commit c77534f6fb6d58e27d923b6825ea3b0ef485ab26 Author: Tao Mao Date: Tue Aug 28 17:22:33 2007 -0700 ocfs2: remove mostly unused field from insert structure ocfs2_insert_type->ins_free_records was only used in one place, and was set incorrectly in most places. We can free up some memory and lose some code by removing this. * Small warning fixup contributed by Andrew Mortom Signed-off-by: Tao Mao Signed-off-by: Mark Fasheh commit 7e6973e9aca997d95995a7b17768f7b77b7c6c24 Merge: 000233e... b018fc0... Author: Linus Torvalds Date: Fri Oct 12 09:25:42 2007 -0700 Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block * 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block: [BLOCK] s390 xpram typo [BLOCK] Only include the compat ioctl code if CONFIG_BLOCK is set [BLOCK] Better fix for do_blk_trace_setup() for !CONFIG_BLOCK [BLOCK] Move sector_div() from blkdev.h to kernel.h commit 000233e4d1321e54033d097e98f6868b11614217 Merge: bfab36e... 6dee642... Author: Linus Torvalds Date: Fri Oct 12 09:17:22 2007 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: [BNX2]: Refine napi poll loop. [TG3]: Refine napi poll loop. commit bfab36e81611e60573b84eb4e4b4c8d8545b2320 Author: Anton Altaparmakov Date: Fri Oct 12 09:37:15 2007 +0100 NTFS: Fix a mount time deadlock. Big thanks go to Mathias Kolehmainen for reporting the bug, providing debug output and testing the patches I sent him to get it working. The fix was to stop calling ntfs_attr_set() at mount time as that causes balance_dirty_pages_ratelimited() to be called which on systems with little memory actually tries to go and balance the dirty pages which tries to take the s_umount semaphore but because we are still in fill_super() across which the VFS holds s_umount for writing this results in a deadlock. We now do the dirty work by hand by submitting individual buffers. This has the annoying "feature" that mounting can take a few seconds if the journal is large as we have clear it all. One day someone should improve on this by deferring the journal clearing to a helper kernel thread so it can be done in the background but I don't have time for this at the moment and the current solution works fine so I am leaving it like this for now. Signed-off-by: Anton Altaparmakov Signed-off-by: Linus Torvalds commit f26e51f67ae6a75ffc57b96cf5fe096f75e778cb Merge: 1462222... c36258b... Author: Linus Torvalds Date: Fri Oct 12 09:14:51 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (51 commits) [DLM] block dlm_recv in recovery transition [DLM] don't overwrite castparam if it's NULL [GFS2] Get superblock a different way [GFS2] Don't try to remove buffers that don't exist [GFS2] Alternate gfs2_iget to avoid looking up inodes being freed [GFS2] Data corruption fix [GFS2] Clean up journaled data writing [GFS2] GFS2: chmod hung - fix race in thread creation [DLM] Make dlm_sendd cond_resched more [GFS2] Move inode deletion out of blocking_cb [GFS2] flocks from same process trip kernel BUG at fs/gfs2/glock.c:1118! [GFS2] Clean up gfs2_trans_add_revoke() [GFS2] Use slab operations for all gfs2_bufdata allocations [GFS2] Replace revoke structure with bufdata structure [GFS2] Fix ordering of dirty/journal for ordered buffer unstuffing [GFS2] Clean up ordered write code [GFS2] Move pin/unpin into lops.c, clean up locking [GFS2] Don't mark jdata dirty in gfs2_unstuffer_page() [GFS2] Introduce gfs2_remove_from_ail [GFS2] Correct lock ordering in unlink ... commit 1462222b76a09a24b240563a51d5f9fbea8bd3e1 Author: Martin Schwidefsky Date: Fri Oct 12 16:11:53 2007 +0200 [S390] xpram: fix bio_end{_,}io typo Signed-off-by: Martin Schwidefsky commit a2e53801971edbdaac4411760d893b8b65646987 Author: Cornelia Huck Date: Fri Oct 12 16:11:52 2007 +0200 [S390] 3215: Handle special console device. The early console device is special as it already has all needed data set and raw3215[0] allocated from con3215_init(). Therefore, it needs special treatment in the probe function so it can be matched with the 3215 driver which is already owning it. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit c41fbc69654dd74339f76ea88054fe41e3c1b7a8 Author: Heiko Carstens Date: Fri Oct 12 16:11:51 2007 +0200 [S390] pfault: Fix alignment of parameter list. Make sure parameter list of the pfault token function is eight byte aligned. Otherwise we can get specification exceptions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 52480ee5206a3fe3a61b5529ce063202c60b8b27 Author: Sam Ravnborg Date: Fri Oct 12 16:11:50 2007 +0200 [S390] s390: use PAGE_SIZE in vmlinux.lds Replace the hardcoded 4096 value with the PAGE_SIZE macro. Converted a few decimal numbers to readable hex numbers. Use of PAGE_SIZE required a small change to page.h to allow PAGE_SIZE to be used from assembler/linker scripts. Signed-off-by: Sam Ravnborg Signed-off-by: Martin Schwidefsky commit e16af09d76ac3322e26f5b3ff49979691f350c12 Author: Sam Ravnborg Date: Fri Oct 12 16:11:49 2007 +0200 [S390] s390: beautify vmlinux.lds Introduce a consistent style in vmlinux.lds. This style is gradually being introduced for all archs. A few lables were moved inside the section definition so they are assigned the correct value of gcc decide to align the content to another address than the one . has. In the past this has fixed several bugs but for s390 it will not impact due to all the alignmnet already introduced. Stabs definitions are consolidated in asm-generic/vmlinux.lds.h This patch also introduce support for DWARF - without knowing if this makes sense for s390. Signed-off-by: Sam Ravnborg Signed-off-by: Martin Schwidefsky commit 2b12f996c992334f65f6d9e0a3e731ec049fdad3 Author: Heiko Carstens Date: Fri Oct 12 16:11:48 2007 +0200 [S390] vmwatchdog: fix broken inline assembly. Constraint for err is wrong since it is preinitialized and the code relies on it in case of an exception. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1b9fd76e30368489b561db5794b3831bcc28c8bc Author: Michael Holzheu Date: Fri Oct 12 16:11:47 2007 +0200 [S390] tape: Fix medium state handling Currently there are situations, where the tape medium state (loaded, unloaded, unknown) is not set correctly. The reason is that the medium association field is used to determine the medium state. This not always leads to correct results. To fix that we use another field of the medium sense data instead. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit a004fb0c33539ae90f25573505be6a116a76e639 Author: Heiko Carstens Date: Fri Oct 12 16:11:46 2007 +0200 [S390] cpcmd: fix inline assembly usage. After assigning values to specific registers memset was called. This may clobber the contents of the used registers. To solve this extract the two used inline assemblies into small functions that don't call any functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e39394b84156bc0822785e379977fe75a5662aad Author: Heiko Carstens Date: Fri Oct 12 16:11:45 2007 +0200 [S390] Make vmalloc area start at address > 4GB. Prevent that modules get loaded at addresses below 4GB to prevent exchanging system call table entries. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 53a0868cb4d77dcba8e95e1033361ffdb6e510e2 Author: Michael Holzheu Date: Fri Oct 12 16:11:44 2007 +0200 [S390] zcore: fix inline assembly in memcpy_real() memcpy_real uses the mvcle instruction. This instruction alters all used registers (source, destination and 2 x count). Therefore we have to flag those registers as input/output registers (+d). In addition to that, we have to specify, that we read from memory designated by "src" and write to memory designated by "dest". Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit cebe0fe70fbf033a1a6b7c5c8b79eb13060a4ab7 Author: Robert P. J. Day Date: Fri Oct 12 16:11:43 2007 +0200 [S390] Remove obsolete recommendation for 8M ramdisk size. Signed-off-by: Robert P. J. Day Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6517156cd0225d666f53ecaf49b5b4784b0df8b6 Author: Michael Holzheu Date: Fri Oct 12 16:11:42 2007 +0200 [S390] Use IPL CLEAR for reipl under z/VM If we use the CLEAR ipl option, reipl is faster, since then VM can release the memory, which has been paged out. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 210d3a90ce665509e4852977d7a3352654e5e990 Author: Heiko Carstens Date: Fri Oct 12 16:11:41 2007 +0200 [S390] Force link error if xchg/cmpxchg gets called with unsupported size. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c622498e5c82217cda7f661eebbabdaad0814659 Author: Ursula Braun Date: Fri Oct 12 16:11:40 2007 +0200 [S390] qdio: change QDIO performance_stats error message priority Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit e108cebb21316714de43767e242316c784471740 Author: vignesh babu Date: Fri Oct 12 16:11:39 2007 +0200 [S390] is_power_of_2 in drivers/s390/block/dasd_int.h Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b18a2db416088ad54a4bfb59c0b932be383aee83 Author: Heiko Carstens Date: Fri Oct 12 16:11:38 2007 +0200 [S390] qdio: dont cast function pointers and use them to call functions. According to C99 6.3.2.3 it's undefined what happens if a converted pointer is used to call a function whose type is not compatible with the pointed-to type. That's what the qdio code is doing, so fix it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5a291321d6b7ab40923b9a42b36746f7b5ca0055 Author: Heiko Carstens Date: Fri Oct 12 16:11:37 2007 +0200 [S390] Get rid of ARCH_KMALLOC_MINALIGN. slab cache debugging code has been changed so that we always get a minimum alignment of the alignment of a 64-integer. Since this is 8 on s390/s390x there is no need of ARCH_KMALLOC_MINALIGN anymore. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ca08de05ed83b7c2029c742ef3310a284b7790ee Author: Christian Borntraeger Date: Fri Oct 12 16:11:36 2007 +0200 [S390] remove packed attribute from ext_int_info_t. ext_int_info_t is no longer used in entry(64).S Instead do_extint is a C function that handles the hash search. As the structure is handled in C code, we can also remove the packed attribute to avoid alignment issues. (Currently there is no alignment problem in ext_int_info_t, even if packet) Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 364c85584e030f7cfc25e9d27ca893dee6f4bf8e Author: Heiko Carstens Date: Fri Oct 12 16:11:35 2007 +0200 [S390] Get rid of a bunch of sparse warnings again. Also removes a bunch of ^L in drivers/s390/cio/cmf.c Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f5360106422302e8eed4d07ea8daf81ec19ca345 Author: Christian Borntraeger Date: Fri Oct 12 16:11:34 2007 +0200 [S390] disassembler: Remove redundant variable assignment There is no need to assign "0" to "hops" twice. Remove one assigment. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 74ccbdc226cac44bb56cd479917195dc5132d7aa Author: Martin Schwidefsky Date: Fri Oct 12 16:11:33 2007 +0200 [S390] disassembler: fix output for insns with 6 operands. The termination condition of the loop that prints the operands of an instruction doesn't stop after the maximum of 6 operands. It continues with the operands of the next instruction format instead which create really long lines. Signed-off-by: Martin Schwidefsky commit 076fc808ab804c6cfb40fd0caa0b74dd50e0d5de Author: Satyam Sharma Date: Fri Oct 12 16:11:32 2007 +0200 [S390] appldata_base: Remove module_exit function and modular stuff arch/s390/Kconfig tells us that CONFIG_APPLDATA_BASE is bool and hence can never be built modular. Given this, defining appldata_exit() function is pointless (and wasteful, actually). Remove all that. Previous patch annotated appldata_offline_cpu() as __cpuexit, but now with the __exit function appldata_exit() gone, the only callsite that references it is __cpuinit, so this function can also be __cpuinit, thereby saving space when HOTPLUG_CPU=n. Signed-off-by: Satyam Sharma Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 11b8bf0107e688434b9e0570fd05e7c715534f3b Author: Satyam Sharma Date: Fri Oct 12 16:11:31 2007 +0200 [S390] appldata_base: Misc cpuinit annotations and bugfix appldata_offline_cpu() is only called from __cpuinit-marked hotplug notifier callback and from the __exit-marked module_exit function, therefore candidate for __cpuexit. BTW the __exit module_exit function appldata_exit() of this driver fails to unregister_hotcpu_notifier() the notifier_block that was registered by appldata_init() during module startup. This will lead to oops if hotplug notification comes after module has been unloaded. Let's fix this by unregistering the notifier appropriately (before appldata_offline_cpu()'ing the CPUs). Signed-off-by: Satyam Sharma Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 2af48080e100d66db8f086af70a70713a953a83d Author: Ralph Wuerthner Date: Fri Oct 12 16:11:30 2007 +0200 [S390] zcrypt: fix PCIXCC/CEX2C error recovery Symptom: zcrypt fails by setting all PCIXCC/CEX2C cards offline for a certain type of invalid keys. Problem: zcrypt does not handle rc=12/rs=769 request responses correctly Solution: modify convert_type86_ica() to handle these error codes correctly Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 39aa7cf612cc4e7f688c18f04c35afb51c57472e Author: Ralph Wuerthner Date: Fri Oct 12 16:11:29 2007 +0200 [S390] zcrypt: fix ap_reset_domain() Resetting of a all queues within a domain requires that a domain must be selected first. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 16db63fda0c63de7a7feb59c6ca59ce7e2670ffb Author: Ralph Wuerthner Date: Fri Oct 12 16:11:28 2007 +0200 [S390] zcrypt: remove duplicated struct CPRBX definition Signed-off-by: Ralph Wuerthner commit 731475c92ed587ac0e112c49b47b12de8d0ab609 Author: Heiko Carstens Date: Fri Oct 12 16:11:27 2007 +0200 [S390] zcrypt: make init/exit functions static. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3f4cf6e72f9f6a0b046b32881acc4f829f3aaa46 Author: Cornelia Huck Date: Fri Oct 12 16:11:26 2007 +0200 [S390] cio: Avoid machine check vs. not operational races. There was the possibilty that an action like ccw_device_set_offline() triggered by a device gone machine check might trigger a not oper event. Unfortunately, this could lead to the situation that we tried to unregister a subchannel twice: Once from the slow path evaluation, and once via the not oper event. Fix this by always using the same mechanism (css_schedule_eval()) for triggering the unregister. This makes sure that unregistration will only be done once. As an added bonus, it also simplyfies the code. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 3952c8d43aa23862181ad23ecdf72895b4be3143 Author: Cornelia Huck Date: Fri Oct 12 16:11:25 2007 +0200 [S390] cio: Documentation update. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 6920c12a407e073168d6cae164fa820d666af5c6 Author: Cornelia Huck Date: Fri Oct 12 16:11:24 2007 +0200 [S390] Add Documentation/s390/00-INDEX. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit e103178658f07131fee4e643596982b604cc63a9 Author: Cornelia Huck Date: Fri Oct 12 16:11:23 2007 +0200 [S390] cio: Fix device attributes for early devices. Don't forget to set dev->groups for early ccw devices like the console device so the default attributes are created. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 1842f2b1847155805f9cc8c834ef4272198b272b Author: Cornelia Huck Date: Fri Oct 12 16:11:22 2007 +0200 [S390] cio: Disable channel measurements (cmf) on shutdown/reboot. Disable channel measurements for all ccw devices via the ccw bus's shutdown method. Clear residual cmf related information that may be in the schib when setting up a new subchannel. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 958974fb596ad037fb571cf2899f783764a83e1a Author: Cornelia Huck Date: Fri Oct 12 16:11:21 2007 +0200 [S390] cio: Introduce ccw_bus_type.shutdown. Introduce a shutdown method for the ccw bus that calls the driver specific shutdown method in struct ccw_driver. Switch zfcp to the new ccw_driver shutdown method. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit a55360df406cca797ac07d722688dd7ec29bf46e Author: Cornelia Huck Date: Fri Oct 12 16:11:20 2007 +0200 [S390] cio: Disable channel path measurements on shutdown/reboot. Make sure channel path measurements are disabled via a reboot notifier since we cannot rely on userspace to disable it again after enabling it. This is 1. clean and 2. makes sure that channel path measurements do not stay enabled after a reboot not involving a subsystem reset (which would lead to the channel subsystem scribbling onto random memory). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit a0ea22c3d912de6044f83b07dcc26ee006106139 Author: Cornelia Huck Date: Fri Oct 12 16:11:19 2007 +0200 [S390] cio: Minor style fixes. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 3a2fbff228f773e3628bc26a688d40b2214af025 Author: Cornelia Huck Date: Fri Oct 12 16:11:18 2007 +0200 [S390] cio: Add s390-drivers book. s390-drivers is generated using the docbook comments. It should eventually supersede Documentation/s390/cds.txt. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit b2ffd8e9a76ec90bd4a509f3d092e35978c568a3 Author: Cornelia Huck Date: Fri Oct 12 16:11:17 2007 +0200 [S390] cio: Add docbook comments. Comment a bunch of function in docbook style and convert existing comments on structures to docbook. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c02087162af5d8880ff2d688999d71e1bfa16f2f Author: Cornelia Huck Date: Fri Oct 12 16:11:16 2007 +0200 [S390] cio: Kerneldoc comments for cmf. - Fix existing kerneldoc-style comments. - Move descriptions of functions from cmb.h to cmf.c. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fc5019c5c7067bcea1e49fe9cd5190285f0c8927 Author: Cornelia Huck Date: Fri Oct 12 16:11:15 2007 +0200 [S390] cio: Fix some coding style issues in cmf. Fix some formatting and correct a comment. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit fbf9772b8e7917f85f35913b30788c74ea34cad5 Author: Cornelia Huck Date: Fri Oct 12 16:11:14 2007 +0200 [S390] cio: remove subchannel_add_files() subchannel_add_files() no longer exists, remove from header. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 7c9f4e3aaae020fc674f52393cbac1bdb648bf90 Author: Cornelia Huck Date: Fri Oct 12 16:11:13 2007 +0200 [S390] cio: rename css to channel_subsystems Rename css[] to channel_subsystems[] to avoid name clashes. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 4b5a9b3d8e857249f2670f4419ce764be02e11db Author: Jeff Garzik Date: Wed Oct 3 15:47:00 2007 -0400 [ISDN] HiSax diva: split setup into three smaller functions Just code movement, and the glue to call the new functions. Preparation for hotplug APIs. Signed-off-by: Jeff Garzik commit 7da0d9801bd52a1d5e58eae85a3b9508b4a11ffb Author: Jeff Garzik Date: Wed Oct 3 15:37:40 2007 -0400 [ISDN] HiSax sedlbauer: move ISAPNP and PCI code into functions of their own Prep for hotplug API conversion. Just code movement (+glue). Signed-off-by: Jeff Garzik commit 1e5d82e18b7204545737a5ef96bc34180a8df844 Author: Jeff Garzik Date: Wed Oct 3 15:27:22 2007 -0400 [ISDN] HiSax elsa: split huge setup function into four smaller functions Prep for hotplug API conversion. Just code movement (+glue). Signed-off-by: Jeff Garzik commit 2fbde4c0923f53bca9975a46059b5c481a3551ba Author: Jeff Garzik Date: Wed Oct 3 15:23:49 2007 -0400 [ISDN] HiSax avm_pci: split setup into three smaller functions Preparation for new ISA/PNP/PCI APIs. Just code movement, and the glue to call the new functions. Signed-off-by: Jeff Garzik commit bfc7c89f068bbbc2c48588385529d15c6feef802 Author: Jeff Garzik Date: Thu Aug 2 16:56:22 2007 -0400 [ISDN] Remove CONFIG_PCI ifdefs from 100% PCI source code Signed-off-by: Jeff Garzik commit 60cc5147ae07b3b0f7592a611fa20169f7dd02cc Author: Jeff Garzik Date: Thu Aug 2 18:51:14 2007 -0400 [ISDN] hysdn: convert to PCI hotplug API Signed-off-by: Jeff Garzik commit b018fc09498f73da0014b44acbd59ea4a94300b4 Author: Jens Axboe Date: Fri Oct 12 12:54:13 2007 +0200 [BLOCK] s390 xpram typo bio_end_io() should be bio_endio() Signed-off-by: Jens Axboe commit 99874d50481c093adfe74e796436024d88b6a48c Author: Jens Axboe Date: Fri Oct 12 12:50:41 2007 +0200 [BLOCK] Only include the compat ioctl code if CONFIG_BLOCK is set Add an extra CONFIG_BLOCK_COMPAT that we can use in the Makefile Signed-off-by: Jens Axboe commit 43d28d98bed372649060ef783719b426a91972ed Author: Jens Axboe Date: Fri Oct 12 12:50:07 2007 +0200 [BLOCK] Better fix for do_blk_trace_setup() for !CONFIG_BLOCK We don't have the request queue definition, so just make it a macro instead. Signed-off-by: Jens Axboe commit 2da96acde0318f121ed3f5993ae9324c856ecfd4 Author: Jens Axboe Date: Fri Oct 12 12:40:38 2007 +0200 [BLOCK] Move sector_div() from blkdev.h to kernel.h We need it even if CONFIG_BLOCK is disabled, so move it outside of the block layer include system. Signed-off-by: Jens Axboe commit 6dee6421581d3484e9a01d403dbf158161942db6 Author: Michael Chan Date: Fri Oct 12 01:40:38 2007 -0700 [BNX2]: Refine napi poll loop. Need to read and store sblk->status_idx before checking for more work. The status idx is later written back to the hardware when enabling interrupts to acknowledge how much work has been processed. If the order is reversed, we can end up acknowledging work we haven't processed. When completing bnx2_poll(), we should always break out of the while loop and return work_done instead of returning 0. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 4fd7ab5949edfdf99be0ceef206c9d0b7f186318 Author: Michael Chan Date: Fri Oct 12 01:39:50 2007 -0700 [TG3]: Refine napi poll loop. Need to read and store sblk->status_tag before checking for more work. The status tag is later written back to the hardware when enabling interrupts to acknowledge how much work has been processed. If the order is reversed, we can end up acknowledging work we haven't processed. When we detect tx error, it is more correct to return the rx work_done so far instead of 0. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 782e3b3b3804c38d5130c7f21d7ec7bf6709023f Author: Al Viro Date: Fri Oct 12 07:17:47 2007 +0100 Fix up more bio fallout Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit cbd09dbbb62096c1da627eca865f988d2ed0a84e Merge: d81fec0... d4faaec... Author: Linus Torvalds Date: Fri Oct 12 00:26:34 2007 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [ZLIB]: Fix external builds of zlib_inflate code. [TG3]: Fix APE induced regression [SKY2]: version 1.19 [SKY2]: use netdevice stats struct [SKY2]: fiber advertise bits initialization (trivial) [SKY2]: fix power settings on Yukon XL [SKY2]: ethtool register reserved area blackout commit d81fec0f97cce4aea36a89340af247523c1263a0 Author: Al Viro Date: Fri Oct 12 07:00:19 2007 +0100 missed bio_endio() in axonram Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d4faaecbcc6d9ea4f7c05f6de6af98e2336a4afb Author: David S. Miller Date: Thu Oct 11 22:15:08 2007 -0700 [ZLIB]: Fix external builds of zlib_inflate code. Move zlib_inflate_blob() out into it's own source file, infutil.c, so that things like the powerpc zImage builder in arch/powerpc/boot/Makefile don't end up trying to compile it. Signed-off-by: David S. Miller commit 9ce768ead83216d394175c0a0d72bc527648c7d0 Author: Matt Carlson Date: Thu Oct 11 19:49:11 2007 -0700 [TG3]: Fix APE induced regression This patch fixes a bug caused by the recent APE support added for 5761 devices. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit a7b850eaa1110b1fcdc09fdfe89e792828e9b7aa Author: Stephen Hemminger Date: Thu Oct 11 19:48:40 2007 -0700 [SKY2]: version 1.19 Update version to keep track of new changes. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7138a0f591b0aac3b9117e68db46903606a97b0c Author: Stephen Hemminger Date: Thu Oct 11 19:48:22 2007 -0700 [SKY2]: use netdevice stats struct Use builtin statistics structure from net device. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit df3fe1f318b226453b8dc48622c2b6eb78d75dbb Author: Stephen Hemminger Date: Thu Oct 11 19:48:04 2007 -0700 [SKY2]: fiber advertise bits initialization (trivial) Put initialization in sequential order (same as other constants). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ff35164e72648e0bf0b10ec4410c195e8607e88b Author: Stephen Hemminger Date: Thu Oct 11 19:47:44 2007 -0700 [SKY2]: fix power settings on Yukon XL Make sure PCI register for PHY power gets set correctly. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 295b54c4902c52cd00d7c837d50a86e39e26caec Author: Stephen Hemminger Date: Thu Oct 11 19:47:22 2007 -0700 [SKY2]: ethtool register reserved area blackout Make sure and not dump reserved areas of device space. Touching some of these causes machine check exceptions on boards like D-Link DGE-550SX. Coding note, used a complex switch statement rather than bitmap because it is easier to relate the block values to the documentation rather than looking at a encoded bitmask. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e86908614f2c7fec401827e5cefd7a6ea9407f85 Merge: 5473074... 9b4b8fe... Author: Linus Torvalds Date: Thu Oct 11 21:55:47 2007 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (408 commits) [POWERPC] Add memchr() to the bootwrapper [POWERPC] Implement logging of unhandled signals [POWERPC] Add legacy serial support for OPB with flattened device tree [POWERPC] Use 1TB segments [POWERPC] XilinxFB: Allow fixed framebuffer base address [POWERPC] XilinxFB: Add support for custom screen resolution [POWERPC] XilinxFB: Use pdata to pass around framebuffer parameters [POWERPC] PCI: Add 64-bit physical address support to setup_indirect_pci [POWERPC] 4xx: Kilauea defconfig file [POWERPC] 4xx: Kilauea DTS [POWERPC] 4xx: Add AMCC Kilauea eval board support to platforms/40x [POWERPC] 4xx: Add AMCC 405EX support to cputable.c [POWERPC] Adjust TASK_SIZE on ppc32 systems to 3GB that are capable [POWERPC] Use PAGE_OFFSET to tell if an address is user/kernel in SW TLB handlers [POWERPC] 85xx: Enable FP emulation in MPC8560 ADS defconfig [POWERPC] 85xx: Killed [POWERPC] 85xx: Add cpm nodes for 8541/8555 CDS [POWERPC] 85xx: Convert mpc8560ads to the new CPM binding. [POWERPC] mpc8272ads: Remove muram from the CPM reg property. [POWERPC] Make clockevents work on PPC601 processors ... Fixed up conflict in Documentation/powerpc/booting-without-of.txt manually. commit 547307420931344a868275bd7ea7a30f117a15a9 Merge: e30408b... 6c08772... Author: Linus Torvalds Date: Thu Oct 11 21:47:20 2007 -0700 Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] sata_mv: more S/G fixes commit 6c08772e49622e90d39903e7ff0be1a0f463ac86 Author: Jeff Garzik Date: Fri Oct 12 00:16:23 2007 -0400 [libata] sata_mv: more S/G fixes * corruption fix: we only want the lower 16 bits of length (0 == 64kb) * ditto: the upper layer sets max-phys-segments to LIBATA_MAX_PRD, so we must reset it to own hw-specific length. * delete unused mv_fill_sg() return value Signed-off-by: Jeff Garzik commit e30408b2a99cb7b8bf529c7dc2328a19d71894cf Author: Jeff Garzik Date: Fri Oct 12 00:01:21 2007 -0400 JFS: fix bio-related build breakage Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 9b4b8feb962f4b3e74768b7205f1f8f6cce87238 Author: David Gibson Date: Fri Oct 12 12:36:20 2007 +1000 [POWERPC] Add memchr() to the bootwrapper This adds a memchr() implementation to the bootwrapper, which will be needed when libfdt is merged in. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit d0c3d534a4388a465101b634a95f2ec586415254 Author: Olof Johansson Date: Fri Oct 12 10:20:07 2007 +1000 [POWERPC] Implement logging of unhandled signals Implement show_unhandled_signals sysctl + support to print when a process is killed due to unhandled signals just as i386 and x86_64 does. Default to having it off, unlike x86 that defaults on. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit b63db45ca44a805ef21eb10a3750e88419156423 Author: Valentine Barshak Date: Fri Oct 12 05:09:25 2007 +1000 [POWERPC] Add legacy serial support for OPB with flattened device tree Currently find_legacy_serial_ports() can find no serial ports on the OPB with flattened device tree. Thus no legacy boot console can be initialized. Just the early udbg console works, which is initialized with udbg_init_44x_as1 on the UART's physical address specified in kernel config. This happens because we look for ns16750 serial devices only and expect opb node to have a device type property. This patch makes it look for ns16550-compatible devices and use of_device_is_compatible() for opb in case device type is not specified. Signed-off-by: Valentine Barshak Signed-off-by: Paul Mackerras commit 1189be6508d45183013ddb82b18f4934193de274 Author: Paul Mackerras Date: Thu Oct 11 20:37:10 2007 +1000 [POWERPC] Use 1TB segments This makes the kernel use 1TB segments for all kernel mappings and for user addresses of 1TB and above, on machines which support them (currently POWER5+, POWER6 and PA6T). We detect that the machine supports 1TB segments by looking at the ibm,processor-segment-sizes property in the device tree. We don't currently use 1TB segments for user addresses < 1T, since that would effectively prevent 32-bit processes from using huge pages unless we also had a way to revert to using 256MB segments. That would be possible but would involve extra complications (such as keeping track of which segment size was used when HPTEs were inserted) and is not addressed here. Parts of this patch were originally written by Ben Herrenschmidt. Signed-off-by: Paul Mackerras commit 287e5d6fcccfa38b953cebe307e1ddfd32363355 Author: Grant Likely Date: Thu Oct 11 04:31:56 2007 +1000 [POWERPC] XilinxFB: Allow fixed framebuffer base address Allow a fixed framebuffer address to be assigned to the framebuffer device instead of allocating the framebuffer from the consistent memory pool. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit b4d6a7268fc754eefb196cabc0ccfa2e97022af2 Author: Grant Likely Date: Thu Oct 11 04:31:51 2007 +1000 [POWERPC] XilinxFB: Add support for custom screen resolution Some custom implementations of the xilinx fb can use resolutions other than 640x480. This patch allows the resolution to be specified in the device tree or the xilinx_platform_data structure. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 01ba1e9d26fcd29f3ad4f3a5bcf40c0fbc40ee81 Author: Grant Likely Date: Thu Oct 11 04:31:46 2007 +1000 [POWERPC] XilinxFB: Use pdata to pass around framebuffer parameters The call to xilinxfb_assign is getting unwieldy when adding features to the Xilinx framebuffer driver. Change xilinxfb_assign() to accept a pointer to a xilinxfb_platform_data structure to prepare for adding additition configuration options. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit d94bad827d9a0df939a0e7ed081a2780b9f72c4b Author: Valentine Barshak Date: Mon Oct 8 22:51:24 2007 +1000 [POWERPC] PCI: Add 64-bit physical address support to setup_indirect_pci Add 64-bit physical address support to setup_indirect_pci(). Signed-off-by: Valentine Barshak Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit ce9d3c9a6a9aef61525be07fe6ba27d937236aa2 Merge: 038a500... 3d73c28... Author: Linus Torvalds Date: Thu Oct 11 19:43:13 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (87 commits) mlx4_core: Fix section mismatches IPoIB: Allow setting policy to ignore multicast groups IB/mthca: Mark error paths as unlikely() in post_srq_recv functions IB/ipath: Minor fix to ordering of freeing and zeroing of tid pages. IB/ipath: Remove redundant link state checks IB/ipath: Fix IB_EVENT_PORT_ERR event IB/ipath: Better handling of unexpected GPIO interrupts IB/ipath: Maintain active time on all chips IB/ipath: Fix QHT7040 serial number check IB/ipath: Indicate a couple of chip bugs to userspace IB/ipath: iba6110 rev4 no longer needs recv header overrun workaround IB/ipath: Use counters in ipath_poll and cleanup interrupts in ipath_close IB/ipath: Remove duplicate copy of LMC IB/ipath: Add ability to set the LMC via the sysfs debugging interface IB/ipath: Optimize completion queue entry insertion and polling IB/ipath: Implement IB_EVENT_QP_LAST_WQE_REACHED IB/ipath: Generate flush CQE when QP is in error state IB/ipath: Remove redundant code IB/ipath: Future proof eeprom checksum code (contents reading) IB/ipath: UC RDMA WRITE with IMMEDIATE doesn't send the immediate ... commit 038a5008b2f395c85e6e71d6ddf3c684e7c405b0 Merge: dd6d184... 2669183... Author: Linus Torvalds Date: Thu Oct 11 19:40:14 2007 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (867 commits) [SKY2]: status polling loop (post merge) [NET]: Fix NAPI completion handling in some drivers. [TCP]: Limit processing lost_retrans loop to work-to-do cases [TCP]: Fix lost_retrans loop vs fastpath problems [TCP]: No need to re-count fackets_out/sacked_out at RTO [TCP]: Extract tcp_match_queue_to_sack from sacktag code [TCP]: Kill almost unused variable pcount from sacktag [TCP]: Fix mark_head_lost to ignore R-bit when trying to mark L [TCP]: Add bytes_acked (ABC) clearing to FRTO too [IPv6]: Update setsockopt(IPV6_MULTICAST_IF) to support RFC 3493, try2 [NETFILTER]: x_tables: add missing ip6t_modulename aliases [NETFILTER]: nf_conntrack_tcp: fix connection reopening [QETH]: fix qeth_main.c [NETLINK]: fib_frontend build fixes [IPv6]: Export userland ND options through netlink (RDNSS support) [9P]: build fix with !CONFIG_SYSCTL [NET]: Fix dev_put() and dev_hold() comments [NET]: make netlink user -> kernel interface synchronious [NET]: unify netlink kernel socket recognition [NET]: cleanup 3rd argument in netlink_sendskb ... Fix up conflicts manually in Documentation/feature-removal-schedule.txt and my new least favourite crap, the "mod_devicetable" support in the files include/linux/mod_devicetable.h and scripts/mod/file2alias.c. (The latter files seem to be explicitly _designed_ to get conflicts when different subsystems work with them - that have an absolutely horrid lack of subsystem separation!) Signed-off-by: Linus Torvalds commit dd6d1844af33acb4edd0a40b1770d091a22c94be Merge: 19f7115... aaf76a3... Author: Linus Torvalds Date: Thu Oct 11 19:21:23 2007 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (80 commits) [MIPS] tlbex.c: Cleanup __init usage. [MIPS] WRPPMC serial support move to platform device [MIPS] R1: Fix hazard barriers to make kernels work on R2 also. [MIPS] VPE: reimplement ELF loader. [MIPS] cleanup WRPPMC include files [MIPS] Add BUG_ON assertion for attempt to run kernel on the wrong CPU type. [MIPS] SMP: Use ISO C struct initializer for local structs. [MIPS] SMP: Kill useless casts. [MIPS] Kill num_online_cpus() loops. [MIPS] SMP: Implement smp_call_function_mask(). [MIPS] Make facility to convert CPU types to strings generally available. [MIPS] Convert list of CPU types from #define to enum. [MIPS] Optimize get_unaligned / put_unaligned implementations. [MIPS] checkfiles: Fix "need space after that ','" errors. [MIPS] Fix "no space between function name and open parenthesis" warnings. [MIPS] Allow hardwiring of the CPU type to a single type for optimization. [MIPS] tlbex: Size optimize code by declaring a few functions inline. [MIPS] pg-r4k.c: Dump the generated code [MIPS] Cobalt: Remove cobalt_machine_power_off() [MIPS] Cobalt: Move reset port definition to arch/mips/cobalt/reset.c ... commit 19f71153b9be219756c6b2757921433a69b7975c Merge: e6005a8... 8f4dd2e... Author: Linus Torvalds Date: Thu Oct 11 19:20:44 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (24 commits) ide: use only ->set_pio_mode method for programming PIO modes (take 2) sis5513: don't change UDMA settings when programming PIO it8213/piix/slc90e66: don't change DMA settings when programming PIO alim15x3: PIO mode setup fixes siimage: fix ->set_pio_mode method to select PIO data transfer cs5520: don't enable VDMA in ->speedproc sc1200: remove redundant warning message from sc1200_tune_chipset() ide-pmac: PIO mode setup fixes (take 3) icside: fix ->speedproc to return on unsupported modes (take 5) sgiioc4: use ide_tune_dma() amd74xx/via82cxxx: use ide_tune_dma() ide: add ide_set{_max}_pio() (take 4) ide: Kconfig face-lift ide: move ide_rate_filter() calls to the upper layer (take 2) sis5513: add ->udma_filter method for chipset_family >= ATA_133 ide: mode limiting fixes for user requested speed changes ide: add missing ide_rate_filter() calls to ->speedproc()-s ide: call udma_filter() before resorting to the UltraDMA mask ide: make jmicron match vendor and device class pdc202xx_new: switch to using pci_get_slot() (take 2) ... commit e6005a85acb9609326512ecc784859831cfb24a3 Merge: 6f35308... 4276fd7... Author: Linus Torvalds Date: Thu Oct 11 19:20:16 2007 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Update Cobalt Qube series front LED support leds: Add Cobalt Raq series LEDs support leds: Rename leds-cobalt driver commit 6f35308c3ffa256bed183adf6f2c0c6c211ca487 Merge: 19ad7ae... c3f8f65... Author: Linus Torvalds Date: Thu Oct 11 19:19:50 2007 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: Convert corgi backlight driver into a more generic driver backlight: Add Samsung LTV350QV LCD driver backlight: Fix cr_bllcd allocations and error paths backlight/leds: Make two structs static commit 19ad7ae47e4ce4eb2a583e437d653a96da7897ac Merge: 1ce4890... 1855256... Author: Linus Torvalds Date: Thu Oct 11 19:18:45 2007 -0700 Merge branch 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'dmi-const' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: drivers/firmware: const-ify DMI API and internals commit 1ce48904285fe4b0298864f9153a8502ebeac35c Merge: 55982fd... 780513e... Author: Linus Torvalds Date: Thu Oct 11 19:14:22 2007 -0700 Merge branch 'block-2.6.24' of git://git.kernel.dk/data/git/linux-2.6-block * 'block-2.6.24' of git://git.kernel.dk/data/git/linux-2.6-block: (37 commits) [BLOCK] Fix failing compile with BLK_DEV_IO_TRACE=n compat_ioctl: move floppy handlers to block/compat_ioctl.c compat_ioctl: move cdrom handlers to block/compat_ioctl.c compat_ioctl: move BLKPG handling to block/compat_ioctl.c compat_ioctl: move hdio calls to block/compat_ioctl.c compat_ioctl: handle blk_trace ioctls compat_ioctl: add compat_blkdev_driver_ioctl() compat_ioctl: move common block ioctls to compat_blkdev_ioctl Sysace: Don't enable IRQ until after interrupt handler is registered Sysace: sparse fixes Sysace: Minor coding convention fixup drivers/block/umem: use DRIVER_NAME where appropriate drivers/block/umem: trim trailing whitespace drivers/block/umem: minor cleanups drivers/block/umem: use dev_printk() drivers/block/umem: move private include away from include/linux Sysace: Labels in C code should not be indented. Sysace: Add of_platform_bus binding Sysace: Move IRQ handler registration to occur after FSM is initialized Sysace: minor rework and cleanup changes ... commit 55982fd184a065b1c69279d29cbc01dbf424d2f4 Merge: 1ef3e36... a7e30b8... Author: Linus Torvalds Date: Thu Oct 11 19:13:44 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: [AVR32] Fix random segfault with preemption [AVR32] Don't use __builtin_xchg() [AVR32] ngw100 i2c-gpio tweaks [AVR32] Ignore a few irrelevant syscalls [AVR32] SMC configuration in clock cycles [AVR32] Drop support for redundant "keepinitrd" boot-time parm. [AVR32] Make dma_sync_*_for_cpu no-ops [AVR32] Remove unneeded 8K alignment of .text section [AVR32] Kill a few hardcoded constants in vmlinux.lds [AVR32] rename vmlinux.lds [AVR32] fix command line parsing in early_parse_fbmem [AVR32] checkstack support [AVR32] Wire up USBA device [AVR32] add multidrive support for pio driver [AVR32] /sys/kernel/debug/at32ap_clk [AVR32] Move AT32_PM_BASE definition into pm.h commit 1ef3e36251e4edc77a48967d015a87ca3c4283ea Merge: c634920... bbf275f... Author: Linus Torvalds Date: Thu Oct 11 19:11:51 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (74 commits) Blackfin serial driver: pending a unique anomaly id, tie the break flood issue to ANOMALY_05000230 blackfin enable arbitary speed serial setting Blackfin arch: Remove cruft - CONFIG_DEBUG_SERIAL_EARLY_INIT and DEBUG_KERNEL_START Blackfin arch: fix typo in register name Blackfin arch: trim the Blackfin arch MAINTAINERS list Blackfin arch: fix bug libstdc++ calling writev with an iovec containing { NULL, 0 } fails on Blackfin Blackfin arch: Export strcpy - occasionally get module link failures otherwise Blackfin arch: the load address is not safe to point to as a workaround for ANOMALY 05000281 Blackfin arch: show_mem can not be marked as init, since it is called during OOM condition Blackfin arch: flush/inv the correct range when using write back cache and fix bugs find by dmacopy Blackfin arch: update kgdb patch Blackfin arch: Comply with revised Anomaly Workarounds for BF533 05000311 and BF561 05000323 Blackfin arch: Print out debug info, as early as possible Blackfin arch: Enable earlyprintk earlier - so any error after our interrupt tables are set up will print out Blackfin arch: fix endless loop bug when a double fault happens Blackfin arch: Initial patch to add earlyprintk support Blackfin arch: add TWIx_REGBASE and SPIx_REGBASE to specific CPU header files, use the new REGBASE for board platform resources Blackfin arch: modify the insX/outsX and dma_insX/dma_outsX to be compatible with other archs Blackfin arch: add more common defines for output sections Blackfin arch: cleanup IO and DMA_IO API function definitions according to other arches ... commit c634920abaf9c0a93266a57beff6fce9d3852cb2 Merge: 6abd2c8... a991f44... Author: Linus Torvalds Date: Thu Oct 11 19:09:32 2007 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (310 commits) V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry V4L/DVB (6315): pvrusb2: Change list_for_each+list_entry to list_for_each_entry V4L/DVB (6314): saa7134: Replace list_for_each+list_entry with list_for_each_entry V4L/DVB (6313): ivtv: Replace list_for_each+list_entry with list_for_each_entry V4L/DVB (6312): cx88: Replace list_for_each+list_entry with list_for_each_entry V4L/DVB (6311): dvb: Replace list_for_each+list_entry with list_for_each_entry V4L/DVB (6308): V4L: zc0301, remove bad usage of ERESTARTSYS V4L/DVB (6307): V4L: w9968cf, remove bad usage of ERESTARTSYS V4L/DVB (6306): Few clenups for saa7134 resume code V4L/DVB (6305): V4L: videobuf-core.c avoid NULL dereferences in videobuf-core V4L/DVB (6301): pvrusb: Update DEBUGIFC sysfs to kernel 2.6.13+ V4L/DVB (6300): CodingStyle cleanup V4L/DVB (6299): dvb: Add dependencies for VIDEOBUF_DVB V4L/DVB (6297): cx23885: remove wrong Kconfig selection of VIDEOBUF V4L/DVB (6296): dib0700: add support for AverMedia DVB-T Express card V4L/DVB (6295): saa7134: add autodetection for KWorld ATSC-115 V4L/DVB (6293): V4L: convert struct class_device to struct device V4L/DVB (6292): videobuf_core init always require callback implementation V4L/DVB (6291): Fix: avoid oops on some SMP machines V4L/DVB (6290): remove videobuf_set_pci_ops ... commit 6abd2c860e34add677de50e8b134f5af6f4b0893 Merge: d2c75f2... 019a5f5... Author: Linus Torvalds Date: Thu Oct 11 18:57:31 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (67 commits) mmc: don't use weight32() pxamci: support arbitrary block size sdio: make the IRQ thread more resilient in the presence of bad states sdio: fix IRQ diagnostic message sdhci: remove old dma module params sdhci: add SDHCI_QUIRK_BROKEN_DMA quirk sdhci: remove DMA capability check from controller's PCI Class reg sdhci: fix a typo mmc: Disabler for Ricoh MMC controller sdio: adaptive interrupt polling mmc: pxamci: add SDIO card interrupt reporting capability mmc: pxamci: set proper buswidth capabilities according to PXA flavor mmc: pxamci: set proper block capabilities according to PXA flavor mmc: pxamci: better pending IRQ determination arm: i.MX/MX1 SDHC implements SD cards read-only switch read-back mmc: add led trigger mmc_spi host driver MMC core learns about SPI MMC/SD card driver learns SPI MMC headers learn about SPI ... commit 266918303226cceac7eca38ced30f15f277bd89c Author: Stephen Hemminger Date: Thu Oct 11 18:31:13 2007 -0700 [SKY2]: status polling loop (post merge) Handle the corner case where budget is exhausted correctly. And save unnecessary read of index register. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6f535763165331bb91277d7519b507fed22034e5 Author: David S. Miller Date: Thu Oct 11 18:08:29 2007 -0700 [NET]: Fix NAPI completion handling in some drivers. In order for the list handling in net_rx_action() to be correct, drivers must follow certain rules as stated by this comment in net_rx_action(): /* Drivers must not modify the NAPI state if they * consume the entire weight. In such cases this code * still "owns" the NAPI instance and therefore can * move the instance around on the list at-will. */ A few drivers do not do this because they mix the budget checks with reading hardware state, resulting in crashes like the one reported by takano@axe-inc.co.jp. BNX2 and TG3 are taken care of here, SKY2 fix is from Stephen Hemminger. Signed-off-by: David S. Miller commit b08d6cb22c777c8c91c16d8e3b8aafc93c98cbd9 Author: Ilpo Järvinen Date: Thu Oct 11 17:36:13 2007 -0700 [TCP]: Limit processing lost_retrans loop to work-to-do cases This addition of lost_retrans_low to tcp_sock might be unnecessary, it's not clear how often lost_retrans worker is executed when there wasn't work to do. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f785a8e28b9d103c7473655743b6ac1bc3cd3a58 Author: Ilpo Järvinen Date: Thu Oct 11 17:35:41 2007 -0700 [TCP]: Fix lost_retrans loop vs fastpath problems Detection implemented with lost_retrans must work also when fastpath is taken, yet most of the queue is skipped including (very likely) those retransmitted skb's we're interested in. This problem appeared when the hints got added, which removed a need to always walk over the whole write queue head. Therefore decicion for the lost_retrans worker loop entry must be separated from the sacktag processing more than it was necessary before. It turns out to be problematic to optimize the worker loop very heavily because ack_seqs of skb may have a number of discontinuity points. Maybe similar approach as currently is implemented could be attempted but that's becoming more and more complex because the trend is towards less skb walking in sacktag marker. Trying a simple work until all rexmitted skbs heve been processed approach. Maybe after(highest_sack_end_seq, tp->high_seq) checking is not sufficiently accurate and causes entry too often in no-work-to-do cases. Since that's not known, I've separated solution to that from this patch. Noticed because of report against a related problem from TAKANO Ryousei . He also provided a patch to that part of the problem. This patch includes solution to it (though this patch has to use somewhat different placement). TAKANO's description and patch is available here: http://marc.info/?l=linux-netdev&m=119149311913288&w=2 ...In short, TAKANO's problem is that end_seq the loop is using not necessarily the largest SACK block's end_seq because the current ACK may still have higher SACK blocks which are later by the loop. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4cd829995b86e0359796780d43d2f210cb5cf021 Author: Ilpo Järvinen Date: Thu Oct 11 17:34:57 2007 -0700 [TCP]: No need to re-count fackets_out/sacked_out at RTO Both sacked_out and fackets_out are directly known from how parameter. Since fackets_out is accurate, there's no need for recounting (sacked_out was previously unnecessarily counted in the loop anyway). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d193594299064d386a2705928cd61ab2ca3d7cee Author: Ilpo Järvinen Date: Thu Oct 11 17:34:25 2007 -0700 [TCP]: Extract tcp_match_queue_to_sack from sacktag code This is necessary for upcoming DSACK bugfix. Reduces sacktag length which is not very sad thing at all... :-) Notice that there's a need to handle out-of-mem at caller's place. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f6fb128d272eb7b0f1a8be78153a724545e28be8 Author: Ilpo Järvinen Date: Thu Oct 11 17:33:55 2007 -0700 [TCP]: Kill almost unused variable pcount from sacktag It's on the way for future cutting of that function. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3eec0047d9bdd68fddef6539e77fee99ba2531f2 Author: Ilpo Järvinen Date: Thu Oct 11 17:33:11 2007 -0700 [TCP]: Fix mark_head_lost to ignore R-bit when trying to mark L This condition (plain R) can arise at least in recovery that is triggered after tcp_undo_loss. There isn't any reason why they should not be marked as lost, not marking makes in_flight estimator to return too large values. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 16e906812f885cf16d95577dba260db6375ba571 Author: Ilpo Järvinen Date: Thu Oct 11 17:32:31 2007 -0700 [TCP]: Add bytes_acked (ABC) clearing to FRTO too I was reading tcp_enter_loss while looking for Cedric's bug and noticed bytes_acked adjustment is missing from FRTO side. Since bytes_acked will only be used in tcp_cong_avoid, I think it's safe to assume RTO would be spurious. During FRTO cwnd will be not controlled by tcp_cong_avoid and if FRTO calls for conventional recovery, cwnd is adjusted and the result of wrong assumption is cleared from bytes_acked. If RTO was in fact spurious, we did normal ABC already and can continue without any additional adjustments. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8087ebd5a121ac6bf5a8eba2459c01d3659c3e31 Merge: 895532a... 4d9e551... Author: Paul Mackerras Date: Fri Oct 12 09:06:32 2007 +1000 Merge branch 'for-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into for-2.6.24 commit aaf76a3245c02faba51c96b9a340c14d6bb0dcc0 Author: Franck Bui-Huu Date: Tue Oct 9 22:34:26 2007 +0200 [MIPS] tlbex.c: Cleanup __init usage. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 2c4d13570d8e512cca65d159502622e1666ad4bd Author: Yoichi Yuasa Date: Thu Oct 11 22:54:13 2007 +0900 [MIPS] WRPPMC serial support move to platform device Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 572afc248c33c902760f6f24a72c180f0e4f1719 Author: Ralf Baechle Date: Fri Sep 21 13:05:44 2007 +0100 [MIPS] R1: Fix hazard barriers to make kernels work on R2 also. Tested with Malta; inflates malta_defconfig by 3932 bytes. Ideally there should be additional configuration to allow getting rid of this overhead but that would be too much complexity at this stage of the release cycle. Signed-off-by: Ralf Baechle commit bdf5d42c6e4d7aa56251b8899f60f55a88c0aaa7 Author: Ralf Baechle Date: Wed Oct 10 13:33:03 2007 +0100 [MIPS] VPE: reimplement ELF loader. Loading ELF binaries based on the section table is totally wrong. This still leaves the other fat bug of referencing symbols in an executable unfixed, so people better don't run strip on their binaries ... As added bonus the new loader is also 23 lines shorter. Signed-off-by: Ralf Baechle commit 4b92fe2309c762d9ba9201a16f20d6d167e641b3 Author: Yoichi Yuasa Date: Wed Oct 10 00:28:26 2007 +0900 [MIPS] cleanup WRPPMC include files Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit dec8b1ca990055f3a8954ac3bc98fdb785af52e4 Author: Franck Bui-Huu Date: Mon Oct 8 16:11:51 2007 +0200 [MIPS] Add BUG_ON assertion for attempt to run kernel on the wrong CPU type. Signed-off-by: Ralf Baechle commit 89a8a5a6c965d3dd2571a263ef59e7b23a036d5e Author: Ralf Baechle Date: Thu Oct 4 18:18:52 2007 +0100 [MIPS] SMP: Use ISO C struct initializer for local structs. Signed-off-by: Ralf Baechle commit c50cade95b075e1116fc4fae6a9c63829720efb9 Author: Ralf Baechle Date: Thu Oct 4 16:57:08 2007 +0100 [MIPS] SMP: Kill useless casts. Signed-off-by: Ralf Baechle commit b5eb551145395382ddf302548991a5fbaabc5341 Author: Ralf Baechle Date: Wed Oct 3 19:16:57 2007 +0100 [MIPS] Kill num_online_cpus() loops. Signed-off-by: Ralf Baechle commit bd6aeeffcc0be716e4d2d1f27fb132741e345cc0 Author: Ralf Baechle Date: Wed Oct 3 01:24:16 2007 +0100 [MIPS] SMP: Implement smp_call_function_mask(). Signed-off-by: Ralf Baechle commit 9966db25defba4e1dce263246db25237bc24479f Author: Ralf Baechle Date: Thu Oct 11 23:46:17 2007 +0100 [MIPS] Make facility to convert CPU types to strings generally available. So far /proc/cpuinfo has been the only user but human readable processor name are more useful than that for proc. Signed-off-by: Ralf Baechle commit 36cfbaad815908f54872a7b471e9a7a09b4084a4 Author: Ralf Baechle Date: Thu Oct 11 23:46:16 2007 +0100 [MIPS] Convert list of CPU types from #define to enum. Signed-off-by: Ralf Baechle commit 9cfde2028bc487982a4bfb0d20d2ca76366fa80d Author: Ralf Baechle Date: Wed Feb 14 21:16:14 2007 +0000 [MIPS] Optimize get_unaligned / put_unaligned implementations. Signed-off-by: Ralf Baechle commit 21a151d8ca3aa74ee79f9791a9d4dc370d3e0636 Author: Ralf Baechle Date: Thu Oct 11 23:46:15 2007 +0100 [MIPS] checkfiles: Fix "need space after that ','" errors. Signed-off-by: Ralf Baechle commit 49a89efbbbcc178a39555c43bd59a7593c429664 Author: Ralf Baechle Date: Thu Oct 11 23:46:15 2007 +0100 [MIPS] Fix "no space between function name and open parenthesis" warnings. Signed-off-by: Ralf Baechle commit 10cc3529072d5415fb040018a8a99aa7a60190b6 Author: Ralf Baechle Date: Thu Oct 11 23:46:15 2007 +0100 [MIPS] Allow hardwiring of the CPU type to a single type for optimization. This saves a few k on systems which only ever ship with a single CPU type. Signed-off-by: Ralf Baechle commit aeffdbbaff133b0c3989e20af5baa091d3d0b409 Author: Ralf Baechle Date: Thu Oct 11 23:46:14 2007 +0100 [MIPS] tlbex: Size optimize code by declaring a few functions inline. Signed-off-by: Ralf Baechle commit 1ac74d528dcfe3dcaa6072289d71fa96569f5e39 Author: Maciej W. Rozycki Date: Tue Oct 2 14:54:15 2007 +0100 [MIPS] pg-r4k.c: Dump the generated code Dump the generated code for clear/copy page calls like it is done for TLB fault handlers. Useful for debugging. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit f13558c2a4a7339192ff7148ee903340affdb790 Author: Yoichi Yuasa Date: Tue Oct 2 23:21:36 2007 +0900 [MIPS] Cobalt: Remove cobalt_machine_power_off() It's same as cobalt_machine_halt(). Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 3282bd3cb0c7653e604c0d3666331281ae8f74c4 Author: Yoichi Yuasa Date: Tue Oct 2 23:17:38 2007 +0900 [MIPS] Cobalt: Move reset port definition to arch/mips/cobalt/reset.c It's only used in arch/mips/cobalt/reset.c. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 5a860424a1bcf21655d993a7c09b36662e34d2a9 Author: Yoichi Yuasa Date: Tue Oct 2 23:13:17 2007 +0900 [MIPS] Cobalt: Move UART base definition to arch/mips/cobalt/console.c They're only used in arch/mips/cobalt/console.c. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b4126e86301cfc6863cbc74bc4500a88b7c582df Author: Yoichi Yuasa Date: Tue Oct 2 22:54:41 2007 +0900 [MIPS] Cobalt: Move PCI definitions to arch/mips/pci/fixup-cobalt.c. These PCI definitions are only used in arch/mips/pci/fixup-cobalt.c. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b1df86d6e148e3be6d1e43e604b19fbb6815b8ba Author: Florian Fainelli Date: Mon Oct 1 13:52:38 2007 +0200 [MIPS] MTX1: Add defconfig file Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 414461f9e0e30551a75b015aa2864efbf393de2f Author: Yoichi Yuasa Date: Mon Oct 1 19:48:31 2007 +0900 [MIPS] Cobalt: Add LED support to cobalt_defconfig Add LED support to cobalt_defconfig. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 9a203755ca392587953be2b5cf235800dcb27d8e Author: Yoichi Yuasa Date: Mon Oct 1 19:46:50 2007 +0900 [MIPS] Cobalt: Add Qube series front LED support to platform register Add Cobalt Qube series front LED support to platform register. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit e86169fffedc2f461be6f70817ae5ab201c12fd5 Author: Yoichi Yuasa Date: Mon Oct 1 19:45:05 2007 +0900 [MIPS] Cobalt: Add Cobalt Raq LED platform register and power off trigger Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f4fae8267c152d6c319a7bfaf92ed1c2c9a2c4e8 Author: Ralf Baechle Date: Thu Oct 11 23:46:12 2007 +0100 [MIPS] Optimize __alloc_zeroed_user_highpage implementation. Signed-off-by: Ralf Baechle commit db813fe5a77d03b29e872da47463d2efbddc3fc2 Author: Ralf Baechle Date: Thu Sep 27 18:26:43 2007 +0100 [MIPS] Avoid indexed cacheops. On MP configurations it's highly dubious what this code will actually affect since blasting away cachelines may or may not do the right thing wrt. cache coherency. Signed-off-by: Ralf Baechle commit e58d95abb7b3232333ab35a09f7f5b0cd6a19cdb Author: Franck Bui-Huu Date: Thu Sep 27 16:26:40 2007 +0200 [MIPS] Don't abort the build process if '-msym32' isn't supported -msym32 and previously the strategy to tell the compiler to generate 64-bit code but the assembler to put it into 32-bit ELF was initially a hack to get around the lack of proper 64-bit binutils support and later turned into a neat optimization with significant code size savings. But it's really just an optimization so there is nothing wrong with just dropping the option (and whatever else goes along with it, I forgot all the nasty details) on the floor if due to a vintage compiler it can't be suported. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit e9f874b6f761f7f8394157d28641491c9babc1d3 Author: Ralf Baechle Date: Thu Oct 11 23:46:10 2007 +0100 [MIPS] Clockevent driver for BCM1480 Signed-off-by: Ralf Baechle commit 9b9ea2202f3396790f635c62f7498ad75f08f62c Author: Ralf Baechle Date: Thu Oct 11 23:46:10 2007 +0100 [MIPS] Clockevent driver for BCM1250 Signed-off-by: Ralf Baechle commit d865bea4dace1d42995a6cf552bc4863842623f4 Author: Ralf Baechle Date: Thu Oct 11 23:46:10 2007 +0100 [MIPS] i8253 PIT clocksource and clockevent drivers Derived from the i386 variant with a few x86 complexities chopped off. Signed-off-by: Ralf Baechle commit 87b2335d6ef97e19ca19dbbb523673680a029e3f Author: Ralf Baechle Date: Thu Oct 11 23:46:10 2007 +0100 [MIPS] IP27: Add clocksource drivers Signed-off-by: Ralf Baechle commit 584d98be3b90f00b410288e59eeba871fbf81b86 Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Jazz clockevent driver Signed-off-by: Ralf Baechle commit ea5804015c0ce67741eb4b156a071fb4f415345f Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Dyntick support for SMTC: The kernel currently only supports broadcasting of the timer interrupt from a single timer, not multicasting into two multicast groups of processors. So the implemented mechanism for SMTC works by broadcasting the cp0 compare interrupt on VPE 0 and ignoring it on any additional VPEs. Signed-off-by: Ralf Baechle commit 7bcf7717b6a047c272410d0cd00213185fe6b99d Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Implement clockevents for R4000-style cp0 count/compare interrupt Signed-off-by: Ralf Baechle commit 91a2fcc88634663e9e13dcdfad0e4a860e64aeee Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Consolidate all variants of MIPS cp0 timer interrupt handlers. Signed-off-by: Ralf Baechle commit 90b02340dcc6ce00bf22c48f4865915f5989e5e4 Author: Ralf Baechle Date: Thu Oct 11 23:46:09 2007 +0100 [MIPS] Switch from to_tm to rtc_time_to_tm This replaces the MIPS-specific to_tm function with the generic rtc_time_to_tm function. The big difference between the two functions is that rtc_time_to_tm uses epoch 70 while to_tm uses 1970, so the result of rtc_time_to_tm needs to be fixed up. Signed-off-by: Ralf Baechle commit 4b550488f894c899aa54dc935c8fee47bca2b7df Author: Ralf Baechle Date: Thu Oct 11 23:46:08 2007 +0100 [MIPS] Deforest the function pointer jungle in the time code. Hard to follow who is pointing what to where and why so it's simply getting in the way of the time code renovation. Signed-off-by: Ralf Baechle commit f5ff0a280201c9cbfb6e9eb4bafdb465c2269ed3 Author: Ralf Baechle Date: Mon Aug 13 15:26:12 2007 +0100 [MIPS] Use generic NTP code for all MIPS platforms Signed-off-by: Ralf Baechle commit 4680576edecb640f64936bd9b92add0a56027b61 Author: Ahmed S. Darwish Date: Thu Sep 27 01:35:43 2007 +0300 [MIPS] Replace deprecated SA_* IRQ flags with modern IRQF_ variants. Signed-off-by: Ahmed S. Darwish Signed-off-by: Ralf Baechle commit 05dc8c02bf40090e9ed23932b1980ead48eb8870 Author: Ralf Baechle Date: Thu Oct 11 23:46:08 2007 +0100 [MIPS] ARC: Get rid of mips_machgroup This has not been any serious user of this ill conceived thing since the original invention in like '95. Signed-off-by: Ralf Baechle commit 112b20a1e849aec8077bbf11fc3de338b62f363a Author: Ralf Baechle Date: Thu Oct 11 23:46:07 2007 +0100 [MIPS] ARC: Convert mach_table[] to ISO C initializers. Signed-off-by: Ralf Baechle commit 99977c1e9faa6a28677314c16f94762fc1f3f365 Author: Maciej W. Rozycki Date: Mon Sep 24 16:13:34 2007 +0100 [MIPS] dec/time.c: Remove no longer needed inclusion of . Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit baf22c1e7aedf264e264b15d2595e5e76564bd4e Author: Ralf Baechle Date: Thu Oct 11 23:46:07 2007 +0100 [MIPS] Split up war.h It was getting a little big, ugly and a primary source for merge conflicts. Also the old method was a bit too forgiving in that the workaround did default to off, so now there is an explicit #error forcing platform maintainers to think if they should enable a workaround for a particular platform. Signed-off-by: Ralf Baechle commit 21c854dcbd7698bf723676a552968040e2813490 Author: Aurelien Jarno Date: Tue Sep 25 15:43:07 2007 +0200 [MIPS] GPIO LED driver for the WGT634U machine Add LED support to the WGT634U machine. It uses the new gpio-led driver and a platform driver for the pin definitions. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 34cc662f8aae0ce1db5c64d55a39a5081f9e3cd8 Author: Aurelien Jarno Date: Tue Sep 25 15:42:09 2007 +0200 [MIPS] Add gpio support to the BCM47XX platform Add GPIO support to the BCM47XX platform. It will be used by a GPIO LED driver. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 25e5fb97419f73d39b37e9f73f9492c394de07b2 Author: Aurelien Jarno Date: Tue Sep 25 15:41:24 2007 +0200 [MIPS] Add CFE support to BCM47XX Add CFE support to the BCM47XX code. That includes querying CFE environment variables as well as using CFE to print messages before the serial port is initialized (early printk). Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 2f56cfdd812a17623483d3dfa3370a2e6282b245 Author: Aurelien Jarno Date: Wed Sep 5 08:59:34 2007 +0200 [MIPS] Move ARC code into arch/mips/fw/arc Move the ARC code to arch/mips/fw/arc from arch/mips/arc. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit df78b5c8faa72b3c04f82faab126de93af178348 Author: Aurelien Jarno Date: Wed Sep 5 08:58:26 2007 +0200 [MIPS] Move CFE code into arch/mips/fw/cfe Move the platform independent part of the CFE code to arch/mips/fw/cfe from arch/mips/sibyte/cfe. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit cc6e8e0812cf95aea397c457ff48de2ac069614f Author: Ralf Baechle Date: Thu Oct 11 23:46:05 2007 +0100 [MIPS] Remove IP27 specific structures from struct cpuinfo_mips Signed-off-by: Ralf Baechle commit 641e97f318870921d048154af6807e46e43c307a Author: Ralf Baechle Date: Thu Oct 11 23:46:05 2007 +0100 [MIPS] Sibyte: Replace SB1 cachecode with standard R4000 class cache code. It may not be perfect yet but the SB1 code is badly borken and has horrible performance issues. Downside: This seriously breaks support for pass 1 parts of the BCM1250 where indexed cacheops don't work quite reliable but I seem to be the last one on the planet with a pass 1 part anyway. Signed-off-by: Ralf Baechle commit 424b28ba4d25fc41abdb7e6fa90e132f0d9558fb Author: Ralf Baechle Date: Thu Oct 11 23:46:05 2007 +0100 [MIPS] Alchemy: remove useless prototypes. Signed-off-by: Ralf Baechle commit 7c4b4773b9b6c440837e5a479204d7bd1b804a43 Author: Ralf Baechle Date: Thu Oct 11 23:46:05 2007 +0100 [MIPS] Sibyte: cleanup static inline forward declarations. In fact there are no foward declarations at all needed when moving things into the right order. Signed-off-by: Ralf Baechle commit e5d77754c5e1a54f9eb61c03085d7932a0b6b738 Author: Maciej W. Rozycki Date: Tue Sep 18 18:49:08 2007 +0100 [MIPS] R3000 setup for kernel_thread() Match the R4000 semantics for the initial state of interrupt/kernel status register flags for the R3000 in kernel_thread(). Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 0f5c90644240cc17d5940fa3594cc51ad1ae7ba7 Author: Sam Ravnborg Date: Sat Sep 15 23:35:53 2007 +0200 [MIPS] Introduce a consistent style for vmlinux.lds. This style will be consitent with all other arch's - soon. In addition: - Moved a few labels inside brackets for the sections they specify to prevent that linker alignmnet made them point before the section start Signed-off-by: Sam Ravnborg Signed-off-by: Ralf Baechle commit d5ab1a6910fe850fa092888f210cf6c43136a7ab Author: Yoichi Yuasa Date: Thu Sep 13 23:51:26 2007 +0900 [MIPS] Add GT641xx IRQ routines. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 718f05f6ddc171a90fb7a277be6f6f65b4ca82be Author: Yoichi Yuasa Date: Wed Sep 12 23:19:45 2007 +0900 [MIPS] GT64120: Remove unused definitions Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit d80c1c0b2207ba326b2c06249dfebddf8ac863bd Author: Yoichi Yuasa Date: Thu Sep 13 11:04:04 2007 +0900 [MIPS] i8295 cleanups. o Move i8259 function declarations to include/asm-mips/i8259.h o Make i8259.c functions static where possible. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ec70f65e3b5309e7ac8b5508ff5657050c92b913 Author: Ralf Baechle Date: Thu Oct 11 23:46:03 2007 +0100 [MIPS] Kill useless volatile keyword Signed-off-by: Ralf Baechle commit b47bd961e298aff8144a98bff38cf4de4a2834b9 Author: Atsushi Nemoto Date: Sun Sep 9 02:50:42 2007 +0900 [MIPS] Kill redundant EXTRA_AFLAGS Kill redundant EXTRA_AFLAGS added after the commit d2af363cfb94f1bacb3e60327bc44a97881a38c2. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bcb0fd94633afde9c1f4f8aca43141ba2c78f04b Author: Thiemo Seufer Date: Wed Sep 5 17:44:50 2007 +0100 [MIPS] Define known MIPS ISA overrides for Sibyte and Excite boards. Signed-Off-By: Thiemo Seufer Signed-off-by: Ralf Baechle commit 7ca16d269a1a4b96d98968b48f137977bcab1522 Author: Ralf Baechle Date: Thu Oct 11 23:46:03 2007 +0100 [MIPS] floppy: Rewrite fd_cacheflush() to use dma_cache_sync(). Signed-off-by: Ralf Baechle commit abb4ae4630633573862934173e5f506771c5d6b1 Author: Ralf Baechle Date: Thu Oct 11 23:46:03 2007 +0100 [MIPS] PCI: Always enable CONFIG_PCI_DOMAINS The cost is just too low. Signed-off-by: Ralf Baechle commit a02eb8da02741f43efb6f06adf534f9f2b913d80 Author: Atsushi Nemoto Date: Tue Aug 28 00:28:09 2007 +0900 [MIPS] tx4927: Cleanup unused macros and non-standard IO accessors. This patch removes many unused constants, replaces non-standard IO accessors with standard ones, and kills terrible tx4927_mips.h file. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4e45171c4e31578157189ca22cfb7b2bcc5f69f2 Author: Thomas Gleixner Date: Tue Aug 28 09:03:01 2007 +0000 [MIPS] cleanup struct irqaction initializers Signed-off-by: Thomas Gleixner CC: Ralf Baechle Signed-off-by: Ralf Baechle commit 1c0c13eb935c95fd2ca0b0aca6dd4860487fb242 Author: Aurelien Jarno Date: Tue Sep 25 15:40:12 2007 +0200 [MIPS] Add support for BCM47XX CPUs. Note that the BCM4710 does not support the wait instruction, this is not a mistake in the code. It originally comes from the OpenWrt patches. Cc: Michael Buesch Cc: Felix Fietkau Cc: Florian Schirmer Signed-off-by: Aurelien Jarno Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit ea202c632a52c4a83f1bd82d8d06bc8e04f2689a Author: Thomas Bogendoerfer Date: Sat Aug 25 11:01:50 2007 +0200 [MIPS] JAZZ fixes - restructured irq handling - switched vdma to use memory allocated via get_free_pages - setup platform devices for serial, jazz_esp and jazzsonic - fixed cmos rtc access Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 1f21d2bde0046e959b53756f74d96dfd040a803b Author: Brian Murphy Date: Tue Aug 21 22:34:16 2007 +0200 [MIPS] Add back support for LASAT platforms Signed-off-by: Brian Murphy Signed-off-by: Ralf Baechle commit 0caf583398309398ec05fc76bff15c711e9f936d Author: Yoichi Yuasa Date: Thu Aug 16 23:15:42 2007 +0900 [MIPS] fix ABI check in include/asm-mips/arv/hinv.h Fix ABI check in include/asm-mips/arv/hinv.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4c6d0fc2f6ce44161f3fac3b34d262c0dd06cf0c Author: Yoichi Yuasa Date: Thu Aug 16 22:56:04 2007 +0900 [MIPS] remove unused include/asm-mips/ip32/machine.h Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ddcf4efb7a5a38c2d82decbdfd99c43bbf226551 Author: Yoichi Yuasa Date: Thu Aug 16 22:54:02 2007 +0900 [MIPS] IP27: remove duplicate extern dump_tlb_all() prototype Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit fa41780606e7a5999a9096269c0ad8e7cee2b95b Author: Yoichi Yuasa Date: Thu Aug 16 22:27:05 2007 +0900 [MIPS] VR41xx: replace infinite loop with hibernate Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 2f2a2d9987c4836493bfb2a80960056ef86742d2 Author: Yoichi Yuasa Date: Thu Aug 16 22:20:11 2007 +0900 [MIPS] VR41xx: Add default restart routine. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 054c51b4368648406f487f54b7ed6ba75bbb3f8b Author: Franck Bui-Huu Date: Thu Feb 15 14:21:36 2007 +0100 [MIPS] Rename CONFIG_BUILD_ELF64 into KBUILD_64BIT_SYM32 This patch renames it for 3 reasons: - "CONFIG" pattern is used by Kconfig. Now this macro is no more defined by Kconfig but by Kbuild itself make this clear by translating "CONFIG" into "KBUILD". - "ELF32" word is improper because it is irrelevant to ELF format and it makes confusion with CONFIG_BOOT_ELF32. So translate it with SYM32. - Add "64BIT" part to make clear that this macro implies a 64 bits kernel. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit adff90a9333004d5459823665e8bcf6cb9214f79 Author: Franck Bui-Huu Date: Thu Feb 15 12:06:48 2007 +0100 [MIPS] Automatically set CONFIG_BUILD_ELF64 We do not rely on user anymore to setup this config correctly. Instead we make our choice depending on the load address. If we want to force Kbuild to use ELF64 format whatever the load address we can still do: $ make BUILD_ELF32=no Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 8c67316e706cabc2145d6c8e97f0bd8f2a86d8a1 Author: Franck Bui-Huu Date: Thu Feb 15 12:06:47 2007 +0100 [MIPS] Remove '-mno-explicit-relocs' option when CONFIG_BUILD_ELF64 This patch removes '-mno-explicit-relocs' usage when CONFIG_BUILD_ELF64 is set since this option was only required with the old hack to truncate addresses at the assembly level where "-mabi=64 -Wa,-mabi=32" was used. This should yield a small code size improvement for inline assembly, where the R constraint is used. The idea is coming from Maciej . Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit d87d0c930a1591617e4c7c78296b4ba029150188 Author: Ralf Baechle Date: Thu Oct 11 23:45:58 2007 +0100 [MIPS] SMTC: Microoptimize atomic_postincrement for non-weak consistency. Signed-off-by: Ralf Baechle commit 61a33168bebb6ce5343a5f34ab421971dbfae9fa Author: Yoichi Yuasa Date: Tue Aug 7 00:09:17 2007 +0900 [MIPS] vr41xx: add cpu_wait Add cpu_wait for NEC VR41xx Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f571eff0a24ed97a919f2b61bb4afdeab4b43002 Author: Kevin D. Kissell Date: Fri Aug 3 19:38:03 2007 +0200 [MIPS] IRQ Affinity Support for SMTC on Malta Platform Signed-off-by: Kevin D. Kissell Signed-off-by: Ralf Baechle commit 895532a166010d8d8b4d58d63d21012eced22492 Merge: ad65688... e1eea9f... Author: Paul Mackerras Date: Fri Oct 12 08:40:13 2007 +1000 Merge branch 'for-2.6.24' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into for-2.6.24 commit 8f4dd2e42637fd61a6366d2cace69091926eaa15 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:02 2007 +0200 ide: use only ->set_pio_mode method for programming PIO modes (take 2) Use ->set_pio_mode method to program PIO modes in ide_set_xfer_rate() (the only place which used ->speedproc to program PIO modes) and remove handling of PIO modes from all ->speedproc implementations. v2: * Fix pmac_ide_tune_chipset() comment. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d3be723cb6432e384267d0fe83ee0bae5e17846 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 sis5513: don't change UDMA settings when programming PIO Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 90986028c98be10807bb6f48e883f33fa20e5499 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 it8213/piix/slc90e66: don't change DMA settings when programming PIO Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a6fe837ed63aa812bea029a24b7aafc72ba8de88 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 alim15x3: PIO mode setup fixes * Return failure in ->speedproc method for unsupported/invalid transfer modes passed from user-space (fixes theoretical OOPS in ali_tune_pio() and/or setting random PIO timings on host controller + disabling UDMA bit + setting unsupported/invalid transfer mode on the device). * Don't disable UDMA bit when programming PIO modes. * Add FIXME about DMA timings never being set. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ffe5415c3d6138aff412af7e455b3df4d53c0aa0 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 siimage: fix ->set_pio_mode method to select PIO data transfer * Remember to select PIO data transfer (with IORDY monitored) in sil_tune_pio() (->set_pio_mode method) so the controller is always programmed correctly for PIO transfers (this is important if DMA is not going to be used). * Don't set DMA/UDMA timings for PIO modes in siimage_tune_chipset(). * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 326d72f437b0a9216290ad8f10817e1e363fd813 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 cs5520: don't enable VDMA in ->speedproc There is no need to do it in cs5520_tune_chipset() (->speedproc method) since it is correctly handled by cs5520_dma_on() (->ide_dma_on method). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fabe1510568acd5194f630dbbcf77a34610d7e9e Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 sc1200: remove redundant warning message from sc1200_tune_chipset() ide_config_drive_speed() called by sc1200_set_xfer_mode() already gives a meaningful warning message in case of failure. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c15d5d43e6eed180e275f1db296eab5560a1bf59 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:01 2007 +0200 ide-pmac: PIO mode setup fixes (take 3) * Add { 0, 0 } entry to {kauai,shasta}_pio_timings[] so kauai_lookup_timing() always returns a valid PIO timing (fixes PIO timing not being set for devices with minimum PIO cycle <= 120ns). * Add setting transfer mode on the device to pmac_ide_set_pio_mode(). * Fix pmac_ide_set_pio() to always program chipset for given PIO timing instead of only when the device we want to program PIO timing for is the currently selected one. * Now that pmac_ide_set_pio() is fixed there is no need to set transfer mode on the device and program chipset for PIO in pmac_ide_tune_chipset() (returning 0 == success is not entirely correct but is OK for now since the upper layers are only checking ->speedproc return value for DMA modes). v2: * s/speed/XFER_PIO_0 + pio/ in pmac_ide_set_pio_mode() so it actually compiles. * Removal of kauai_lookup_timing() return value checking went to separate patch. v3: * Use XFER_PIO_0 not XFER_PIO. (Noticed by Ben) Cc: Benjamin Herrenschmidt Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f44ae58a273b1b051122784a159ad608b7205afd Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 icside: fix ->speedproc to return on unsupported modes (take 5) * All other implementations of ->speedproc return zero on success and non-zero on failure. Currently it doesn't matter for icside host driver and isn't a bug per se since: - ide_set_xfer_rate() return value is ignored by all IDE core users - icside doesn't (yet!) use ide_tune_dma() in icside_dma_check() but sooner or later we will need to fix anyway - so lets do it now. * icside_set_speed() happily accepts unsupported transfer modes which results in drive->drive_data being set to the maximum value (480) and drive->current_speed being set to the unsupported transfer mode. Fix it. v2: * The initial version of the patch was broken because it didn't take into the account (the different from usual) return values of icside_set_speed() (Noticed by Russell). v3: * Remove no longer needed initialization/checking of cycle_time (Noticed by Sergei). * No need to set drive->drive_data if DMA is not going to be used (Noticed by Sergei). * Remove incorrect setting of drive->current_speed (Noticed by Sergei). * Move ide_config_drive_speed() at the end of icside_set_speed(). v4: * If DMA mode is not found in icside_dma_check() then just return "-1" and don't call icside_set_speed() (v3 got it wrong and "1" was returned instead). v5: * Return "-1"/"0" in icside_set_speed() instead of icside_dma_check() return value (just like it was before this patch). Cc: Russell King Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ca1997c1f35891b9e5d6c71ac587f97216886194 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 sgiioc4: use ide_tune_dma() * Add DRV_NAME define and use it instead of sgiioc4_chipset.name. * Remove no longer needed sgiioc4_chipset. * Remove needless clearing of ->atapi_dma from ide_dma_sgiioc4(). * Fix ide_dma_sgiioc4() to return success/failure. Check return value in sgiioc4_ide_setup_pci_device() and set hwif->autodma accordingly. Also add missing setting of drive->autodma. * Add sgiioc4_speedproc() (implementation of ->speedproc method). * Fix ->mwdma_mask (MWDMA2 mask is 0x04 not 0x02) and remove incorrect ->swdma_mask. Also remove needless initialization of ->ultra_mask. * Use ide_tune_dma() in sgiioc4_ide_dma_check(), this fixes following bugs: - DMA capability bit not being checked on the device - DMA blacklist not being checked - MWDMA2 mode support by device not being checked Acked-by: Sergei Shtylyov Signed-off-by: Jeremy Higdon Signed-off-by: Bartlomiej Zolnierkiewicz commit 55f17e8da1f02ce0a36303a3f266c45045004cf5 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 amd74xx/via82cxxx: use ide_tune_dma() * Use ide_tune_dma() in amd74xx/via82cxxx driver, this fixes following bugs: - DMA capability bit not being checked on the device - DMA blacklist not being checked - DMA mode being programmed even if drive->autodma == 0 (thus possibly destroying PIO timings) * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 26bcb879c03254545a19c6700fe5bcef6f21e7b1 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 ide: add ide_set{_max}_pio() (take 4) * Add IDE_HFLAG_ABUSE_{PREFETCH,FAST_DEVSEL,DMA_MODES} flags and set them in ht6560, cmd640, cmd64x and sc1200 host drivers. * Add set_pio_mode_abuse() for checking if host driver has a non-standard ->tuneproc() implementation and use it in do_special(). * Add ide_set_pio() for setting PIO mode (it uses hwif->pio_mask to find the maximum PIO mode supported by the host), also add ide_set_max_pio() wrapper for ide_set_pio() to use for auto-tuning. Convert users of ->tuneproc to use ide_set{_max}_pio() where possible. This leaves only do_special(), set_using_pio(), ide_hwif_restore() and ide_set_pio() as a direct users of ->tuneproc. * Remove no longer needed ide_get_best_pio_mode() calls and printk-s reporting PIO mode selected from ->tuneproc implementations. * Rename ->tuneproc hook to ->set_pio_mode and make 'pio' argument const. * Remove stale comment from ide_config_drive_speed(). v2: * Fix "ata_" prefix (Noticed by Jeff). v3: * Minor cleanups/fixups per Sergei's suggestions. v4: * Fix compile problem in drivers/ide/pci/cmd640.c (Noticed by Andrew Morton). * Improve some ->set_pio_mode comments. Reviewed-by: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 842c19ad6fc0dbd9ac9d2f8527466201802934cf Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:54:00 2007 +0200 ide: Kconfig face-lift * Convert config options for PCI host drivers to select BLK_DEV_IDEPCI. * Same for BLK_DEV_IDEDMA_PCI and PCI DMA host drivers, also make this config option select BLK_DEV_IDEPCI. * Remove no longer needed help for BLK_DEV_IDEPCI and BLK_DEV_IDEDMA_PCI. * Remove redundant IDE_CHIPSETS config option. As a result of this patch users have now three less config options to worry about and can just select host drivers that they need (IDE config menu is "flatter"). Signed-off-by: Bartlomiej Zolnierkiewicz commit f212ff28f08e4ddcef9f25b13463c45cc4204a0c Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:53:59 2007 +0200 ide: move ide_rate_filter() calls to the upper layer (take 2) * Move ide_rate_filter() calls from host drivers to IDE core. * Make ide_rate_filter() static. * Make 'speed' argument of ->speedproc const. v2: * Fix it8213_tune_chipset() comment. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3160d5416f39da9d9221fec7cb9d64399b706bbc Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:53:59 2007 +0200 sis5513: add ->udma_filter method for chipset_family >= ATA_133 * Add sis5513_ata133_udma_filter() for chipset_family >= ATA_133, use it to filter UDMA6 mode if ATA133 bit is disabled. * Remove no longer needed UDMA6 limiting logic from sis5513_tune_chipset(). * Bump driver version. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7670df73fba373d19471a2ebedb3302ea0607be0 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:53:59 2007 +0200 ide: mode limiting fixes for user requested speed changes * Add an extra argument to ide_max_dma_mode() for passing requested transfer mode. Use it as an upper limit when finding the best DMA for device/host. * Rename ide_max_dma_mode() to ide_find_dma_mode() and at the same time add ide_max_dma_mode() wrapper which passes XFER_UDMA_6 as a requested mode to ide_find_dma_mode(). Also add inline ide_find_dma_mode() version for CONFIG_BLK_DEV_IDEDMA=n case. * Pass requested transfer mode from ide_find_dma_mode() to ide_get_mode_mask() to avoid false warning from eighty_ninty_three(). * Use ide_find_dma_mode() to limit the user requested transfer mode in ide_rate_filter(). Also limit the requested mode by host max PIO mode. Above changes make ide_rate_filter() to: * Clip desired transfer mode down if it is invalid (values 0x0F, 0x13-0x19 and 0x25-0x39, values > 0x46 were already clipped down, same for values 0x25-0x39 but iff UDMA was not supported by the host). * Clip desired transfer mode down if it is currently unsupported by IDE core (PIO6 and MWDMA3-4, the latter were already clipped down but iff UDMA was not supported by the host). * Clip desired transfer mode down according to the host capabilities (UDMA modes were already clipped down but MWDMA/SWDMA/PIO weren't, also ->atapi_dma flag was not respected). * Clip desired transfer mode down according to the device capabilities (except PIO modes for now which require mode work) - shouldn't be a problem since ide_set_xfer_rate() is called _after_ device has accepted given transfer mode. and also result in a number of host driver specific bugfixes: * icside - clip unsupported PIO5 mode down - fix unsupported/invalid modes being set in drive->current_speed * ide-cris - clip unsupported PIO5 and SWDMA0-2 modes down - clip DMA modes down for ATAPI devices - fix BUG() on unsupported/invalid modes * au1xxx-ide - clip unsupported PIO5, SWDMA0-2 and MWDMA0-2 (if BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA=n) modes down * aec62xx - clip unsupported PIO5 and SWDMA0-2 modes down - clip DMA modes down for ATAPI devices - fix 0x00 being programmed as PIO timing for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * alim15x3 - clip DMA modes down for ATAPI devices (chipset revision == 0x20 only) - fix theoretical OOPS for 0x0F mode - fix unsupported/invalid modes being set on the device * amd74xx - clip unsupported SWDMA0-2 (on COBRA_7401 revs <= 7) modes down - fix random PIO timings being set for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * atiixp - clip unsupported PIO5 and SWDMA0-2 modes down - fix cached MWDMA mode being cleared for unsupported/invalid modes - fix PIO{0,2} timings being programmed for unsupported/invalid modes - fix theoretical OOPS for PIO5-6 and 0x0F modes - fix unsupported/invalid modes being set on the device * cmd64x - clip unsupported SWDMA0-2 modes down * cs5530 - clip unsupported PIO5 and SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device - fix BUG() on unsupported/invalid modes (which happened if the device accepted the setting) * cs5535 - clip unsupported PIO5 and SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device - fix theoretical OOPS for PIO5-6 and 0x0F modes * hpt34x - clip DMA modes down for ATAPI devices - fix invalid timings being programmed for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * hpt366 - clip unsupported PIO5 and SWDMA0-2 modes down - fix PIO0 timings being programmed for unsupported/invalid modes - fix DMA timings being cleared for MWDMA3-4 and 0x25-0x39 modes - fix unsupported/invalid modes being set on the device * it8213 - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down * it821x - clip unsupported PIO5 and SWDMA0-2 modes down - clip DMA modes down for ATAPI devices (chipset in smart mode and revision 0x10 in pass-through mode) * jmicron - clip unsupported SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device * pdc202xx_new - clip unsupported PIO5 and SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device * pdc202xx_old - clip unsupported PIO5 mode down - fix incorrect timings being set for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * piix - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down * sc1200 - clip unsupported PIO5 and SWDMA0-2 modes down - fix unsupported/invalid modes being set on the device - fix BUG() on unsupported/invalid modes (which happened if the device accepted the setting) * scc_pata - clip unsupported PIO5, SWDMA0-2 and MWDMA0-2 modes down * serverworks - clip unsupported PIO5 and SWDMA0-2 modes down - fix DMA/UDMA timings/settings being cleared for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * siimage - clip unsupported PIO5 and SWDMA0-2 modes down - clip DMA modes down for ATAPI devices (SATA chipsets) * sis5513 - clip unsupported PIO5 mode down - fix BUG() on unsupported/invalid modes * sl82c105 - clip unsupported SWDMA0-2 modes down * slc90e66 - clip unsupported PIO5, SWDMA0-1 and MWDMA0 modes down * tc86c001 - clip unsupported PIO5 and SWDMA0-2 modes down - fix PIO0 timings being programmed for PIO5/0x0F/SWDMA0-2/0x13-0x19 modes - fix invalid 0x00 DMA timing being programmed for MWDMA3-4/0x25-0x39 modes - fix unsupported/invalid modes being set on the device * triflex - clip unsupported PIO5 mode down * via82cxxx - fix random PIO timings being set for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * pmac - clip unsupported PIO5 and SWDMA0-2 modes down * cmd640/ht6560b - clip DMA modes down (if CONFIG_BLK_DEV_IDEDMA=y) - fix PIO5 being clipped to PIO4 (if CONFIG_BLK_DEV_IDEDMA=n) * opti621 - clip DMA modes down (if CONFIG_BLK_DEV_IDEDMA=y) - clip unsupported PIO4 to PIO3 (if CONFIG_BLK_DEV_IDEDMA=n) While at it: * Use ide_rate_filter() in cs5520.c::cs5520_tune_chipset(). * Remove no longer needed checks from hpt366.c::hpt3{6,7}x_tune_chipset(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a8028fcb485522c0d7de9c5423812de9224b37c9 Author: Bartlomiej Zolnierkiewicz Date: Thu Oct 11 23:53:59 2007 +0200 ide: add missing ide_rate_filter() calls to ->speedproc()-s * Fix icside, cris-ide, au1xxx-ide, amd74xx, via82cxxx and pmac host drivers to use ide_rate_filter(). This results in the following modes (from user requests) being clipped down: - invalid modes (values 0x46-0xFF) [ for all hosts ] - unsupported by a host UDMA modes [ for hosts which support UDMA] - all UDMA modes and MWDMA3-4 modes [ for hosts which don't support UDMA ] - invalid modes (values 0x25-0x39) [ for hosts which don't support UDMA ] * Host driver specific changes in behavior: icside: - no change cris-ide - clip unsupported UDMA3-6 modes down - fix BUG() on trying to set unsupported UDMA3-6 modes au1xxx-ide/pmac - clip unsupported UDMA modes down amd74xx/via82cxxx - clip unsupported UDMA modes down - fix random PIO timings being set for unsupported/invalid modes - fix unsupported/invalid modes being set on the device * While at it remove no longer needed checks from pmac.c driver. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 851dd33bcf23655eede62730c029e4f608f4084f Author: Sergei Shtylyov Date: Thu Oct 11 23:53:59 2007 +0200 ide: call udma_filter() before resorting to the UltraDMA mask Give the udma_filter() method call precedence over using the mode masks. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bda7970c27b1033de0afa737cd8e5abf9c55c3d2 Author: Tejun Heo Date: Thu Oct 11 23:53:59 2007 +0200 ide: make jmicron match vendor and device class PATA part of all current JMB controllers behave the same way and JMicron confirms that all future ones will stay compatible. Matching vendor and device class is enough. For backward compatibility, jmicron still needs to match 361,3,5,6,8 DIDs regardless of device class if libata is not configured but won't need further DID update from this point. Bart: cosmetic fixes to jmicron_chipset Signed-off-by: Tejun Heo Cc: Ethan Hsiao Cc: Justin Tsai Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 07047935795917f21dc532c0c17811213cbc2e97 Author: Sergei Shtylyov Date: Thu Oct 11 23:53:58 2007 +0200 pdc202xx_new: switch to using pci_get_slot() (take 2) Switch to using pci_get_slot() in init_setup_pdc20270() to get to the mate chip behind DC21150 bridge as there's no need for the driver itself to walk the list of the PCI devices (and the driver didn't check the bus # of the found device). While at it, make it emit warning about IRQ # being fixed up (just like hpt366.c does) and "beautify" this whole function as well as init_setup_pdc20276()... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5e32132befa5d2cefadf3141fee0bbb40cd11f0e Author: Shaohua Li Date: Thu Oct 11 23:53:58 2007 +0200 ide: hook ACPI _PSx method to IDE power on/off ACPI spec defines the sequence of IDE power on/off: Powering down: Call _GTM. Power down drive (calls _PS3 method and turns off power planes). Powering up: Power up drive (calls _PS0 method if present and turns on power planes). Call _STM passing info from _GTM (possibly modified), with ID data from each drive. Initialize the channel. May modify the results of _GTF. For each drive: Call _GTF. Execute task file (possibly modified). This patch adds the missed _PS0/_PS3 methods call. Signed-off-by: Shaohua Li Acked-by: Len Brown Signed-off-by: Bartlomiej Zolnierkiewicz commit 8cb1f567f4c0a2fde9cbf77c2af888a28cab3423 Author: Anton Vorontsov Date: Thu Oct 11 23:53:58 2007 +0200 ide: Platform IDE driver This is now very similar to pata_platform.c, they both use same platform data structure and same resources. To achieve that, byte_lanes_swapping platform data variable and platform specified iops removed from that driver. It's fine, since those were never used anyway. pata_platform and ide_platform are carrying same driver names, to easily switch between these drivers, without need to touch platform code. Bart: - build fix from Andrew Morton Signed-off-by: Anton Vorontsov Signed-off-by: Vitaly Bordug Cc: Sergei Shtylyov Acked-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit b4e44369a380c1836d0983c2a5011099b7b26eb1 Author: Sergei Shtylyov Date: Thu Oct 11 23:53:58 2007 +0200 hpt366: MWDMA filter for SATA cards (take 2) The Marvell bridge chips used on HighPoint SATA cards do not seem to support the MWDMA modes (at least that could be seen in their so-called drivers :-), so the driver needs to account for this -- to achieve this: - add mdma_filter() method from the original patch by Bartlomiej Zolnierkiewicz with his consent; - install the method for all chips to only return empty mask if a SATA drive is detected on HPT372{AN]/374 chips... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7cfa7168f7a7730abf1aa2af4a7596d24edd4c21 Author: Shane Huang Date: Thu Oct 11 23:53:58 2007 +0200 atiixp: SB700 contains more than one IDE channel SB700 supports one physical IDE channel, but SB700 SATA controller supports combined mode. When the SATA combined mode is enabled, two SATA ports (port4 and port5) share one IDE channel from IDE controller, and PATA will share the other IDE channel. Our previous patch adding SB700 IDE device ID only supports one IDE channel, which contains bug. The attached patch fixes the bug. Signed-off-by: "Shane Huang" Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4953f0fcc06a125f87874743d968c0e185c8b296 Author: Brian Haley Date: Thu Oct 11 14:39:29 2007 -0700 [IPv6]: Update setsockopt(IPV6_MULTICAST_IF) to support RFC 3493, try2 From RFC 3493, Section 5.2: IPV6_MULTICAST_IF Set the interface to use for outgoing multicast packets. The argument is the index of the interface to use. If the interface index is specified as zero, the system selects the interface (for example, by looking up the address in a routing table and using the resulting interface). This patch adds support for (index == 0) to reset the value to it's original state, allowing the system to choose the best interface. IPv4 already behaves this way. Signed-off-by: Brian Haley Acked-by: David L Stevens Signed-off-by: David S. Miller commit 73aaf9355b71d295fd72dc0b93fcdd275c56648f Author: Jan Engelhardt Date: Thu Oct 11 14:36:40 2007 -0700 [NETFILTER]: x_tables: add missing ip6t_modulename aliases The patch will add MODULE_ALIAS("ip6t_") where missing, otherwise you will get ip6tables: No chain/target/match by that name when xt_ is not already loaded. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 17311393f969090ab060540bd9dbe7dc885a76d5 Author: Jozsef Kadlecsik Date: Thu Oct 11 14:35:52 2007 -0700 [NETFILTER]: nf_conntrack_tcp: fix connection reopening With your description I could reproduce the bug and actually you were completely right: the code above is incorrect. Somehow I was able to misread RFC1122 and mixed the roles :-(: When a connection is >>closed actively<<, it MUST linger in TIME-WAIT state for a time 2xMSL (Maximum Segment Lifetime). However, it MAY >>accept<< a new SYN from the remote TCP to reopen the connection directly from TIME-WAIT state, if it: [...] The fix is as follows: if the receiver initiated an active close, then the sender may reopen the connection - otherwise try to figure out if we hold a dead connection. Signed-off-by: Jozsef Kadlecsik Tested-by: Krzysztof Piotr Oledzki Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c3f8f65046127f471d0b6193a1923185b354c011 Author: Richard Purdie Date: Mon Sep 3 00:27:00 2007 +0100 backlight: Convert corgi backlight driver into a more generic driver Convert the corgi backlight driver to a more generic version so it can be reused by other code rather than being Zaurus/PXA specific. Signed-off-by: Richard Purdie commit 18f65c793a5106b9f99822ef248e71582db03386 Author: Haavard Skinnemoen Date: Sun Sep 2 23:15:49 2007 +0100 backlight: Add Samsung LTV350QV LCD driver This patch adds support for powering on and off the Samsung LTV350QV LCD panel via SPI. The driver responds to framebuffer power management, it powers off the panel on reboot/halt/poweroff. It can also be controlled through sysfs. The panel is powered up when the module is loaded, and off when the module is unloaded. Verified on AVR32 STK1000. Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit 0b75f2dfa2a67012ff6996b322117e1d7e45abe1 Author: Jesper Juhl Date: Sat Aug 11 10:29:59 2007 +0100 backlight: Fix cr_bllcd allocations and error paths After fixing the too small memory allocation in cr_backlight_probe() from drivers/video/backlight/cr_bllcd.c (commit e3bbb3f05339de438faf54124f25c92e6fe4ac2e) I noticed that the Coverity checker also thought there were a few memory leaks in there. I took a closer look and confirmed that there were indeed several leaks. At the start of the function we allocate storage for a 'struct cr_panel' and store the pointer in a variable named 'crp'. Then we call pci_get_device() and pci_read_config_byte() and if either of them fail we return without freeing the memory allocated for the 'struct cr_panel'. These two leaks are easy to fix since we don't even use 'crp' for anything up to this point, so I simply moved the allocation further down in the function so it only happens just before we actually need it. A bit further down we call backlight_device_register() and store the result in 'crp->cr_backlight_device'. In case of error we return 'crp->cr_backlight_device' from the function, thus leaking 'crp' itself. The same thing happens with the call to lcd_device_register(). To fix these two leaks I declare two new pointers to hold the return values, so that in case of error we can return the pointer (as before) but without leaking 'crp'. This version of the patch also adds missing backlight_device_unregister() / lcd_device_unregister() / pci_dev_put() calls to error paths. Thanks to Richard Purdie for noticing. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 0ad90efde278866a4ba7510e6e1fbd9626da1689 Author: Adrian Bunk Date: Sat Aug 11 10:27:19 2007 +0100 backlight/leds: Make two structs static This patch makes two needlessly global structs static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 4276fd7349bfd4f557d9777100fdcf1140771b4e Author: Yoichi Yuasa Date: Thu Sep 27 17:51:17 2007 +0900 leds: Update Cobalt Qube series front LED support Update Cobalt Qube series front LED support. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Signed-off-by: Richard Purdie commit 97da7aaf46fedcf1a38a88e5ffc2c40df23e8013 Author: Yoichi Yuasa Date: Thu Sep 27 17:51:05 2007 +0900 leds: Add Cobalt Raq series LEDs support Add Cobalt Raq series LEDs support. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle Signed-off-by: Richard Purdie commit f3b6b6cd00d294d50e1c3eee85964c69d898de45 Author: Yoichi Yuasa Date: Fri Sep 21 00:02:47 2007 +0100 leds: Rename leds-cobalt driver The leds-cobalt driver only supports the Coable Qube series (not included in Cobalt Raq series). Rename the driver and update Kconfig/Makefile. Signed-off-by: Yoichi Yuasa Acked-by: Florian Fainelli Signed-off-by: Richard Purdie commit ad656887e22390c64276e0a0057541aec701422c Author: Stefan Roese Date: Fri Oct 12 03:18:14 2007 +1000 [POWERPC] 4xx: Kilauea defconfig file Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit a62f48de13b7496ede99e9980840c03e2d1dab86 Author: Stefan Roese Date: Thu Oct 11 22:08:27 2007 +1000 [POWERPC] 4xx: Kilauea DTS Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 37b31f9a1192120edbe1e8b7ff691dfde96673da Author: Stefan Roese Date: Thu Oct 11 22:08:21 2007 +1000 [POWERPC] 4xx: Add AMCC Kilauea eval board support to platforms/40x This patch adds basic support for the new 405EX and the AMCC eval board Kilauea to arch/powerpc. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 5d8476c8fab2a51475983af26e220ee84a3964f8 Author: Stefan Roese Date: Thu Oct 11 22:08:14 2007 +1000 [POWERPC] 4xx: Add AMCC 405EX support to cputable.c Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 780513ecb80ea0934fc6833efc4f5ed9ab4ff9bb Author: Boaz Harrosh Date: Thu Oct 11 21:26:08 2007 +0200 [BLOCK] Fix failing compile with BLK_DEV_IO_TRACE=n I get a compilation error in sglist-arch branch with BLK_DEV_IO_TRACE=n: CC block/compat_ioctl.o /usr0/export/dev/bharrosh/git/pub/linux-2.6-block/block/compat_ioctl.c: In function ?compat_blk_trace_setup?: /usr0/export/dev/bharrosh/git/pub/linux-2.6-block/block/compat_ioctl.c:568: error: expected expression before ?do? make[2]: *** [block/compat_ioctl.o] Error 1 Signed-off-by: Jens Axboe commit 4d9e55103aec1ba7d0617cfd88412ec39e1e2d32 Author: Kumar Gala Date: Thu Oct 11 13:40:21 2007 -0500 [POWERPC] Adjust TASK_SIZE on ppc32 systems to 3GB that are capable All ppc32 systems except PReP and 8xx are capable of handling 3G of user address space. Old legacy had set this to 2GB and no one has bothered to fix it. 8xx could be bumped up to 3GB if its SW TLB miss handlers were fixed up to properly determine kernel/user addresses. Signed-off-by: Kumar Gala commit 8a13c4f972e6c107d8cff54de647544c00e25b41 Author: Kumar Gala Date: Thu Oct 11 13:36:52 2007 -0500 [POWERPC] Use PAGE_OFFSET to tell if an address is user/kernel in SW TLB handlers Move to using PAGE_OFFSET instead of TASK_SIZE or KERNELBASE value on 6xx/40x/44x/fsl-booke to determine if the faulting address is a kernel or user space address. This mimics how the macro is_kernel_addr() works. Signed-off-by: Kumar Gala commit 019a5f56ec195aceadada18aaaad0f67294bdaef Author: Nicolas Pitre Date: Thu Oct 11 01:06:03 2007 -0400 mmc: don't use weight32() Using weight32() to determine if a value is a power of 2 is a rather heavi weight solution. The classic idiom is (x & (x - 1)) == 0, but the kernel already provide a is_power_of_2 function for it. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit d2c75f2f4b8be1c78f275c49e399d5a9b21ce924 Author: Thomas Gleixner Date: Thu Oct 11 17:56:02 2007 +0200 x86: fixup the x86 namespace change in scripts/namespace.pl Let namespace.pl look at the correct files. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 91e034eff1a79835739c6494e9b90796ee43300c Author: Thomas Gleixner Date: Thu Oct 11 17:53:52 2007 +0200 x86: Fix the $(ARCH) dependent help output in the top Makefile Change the $(ARCH) dependency to $(SRCARCH) to honor the x86 namespace for i386 and x86_64. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f5d7d13cd96313a90f8d13fa5d6e0704f6d534ba Author: Kumar Gala Date: Thu Oct 11 09:17:22 2007 -0500 [POWERPC] 85xx: Enable FP emulation in MPC8560 ADS defconfig Signed-off-by: Kumar Gala commit 0bfd5df53a99809f60e12bda9c5ef5d8f14ef2e3 Author: Kumar Gala Date: Thu Oct 11 09:13:41 2007 -0500 [POWERPC] 85xx: Killed asm-powerpc/mpc85xx.h was really a hold over from arch/ppc. Now that more decoupling has occurred we can remove and some of its legacy. As part of this we moved the definition of CPM_MAP_ADDR into cpm2.h for 85xx platforms. This is a stop gap until drivers stop using CPM_MAP_ADDR. Signed-off-by: Kumar Gala commit ab9683ca8162f9d4b38e04b956278d8cc647dcfc Author: Scott Wood Date: Mon Oct 8 16:08:52 2007 -0500 [POWERPC] 85xx: Add cpm nodes for 8541/8555 CDS We don't use any CPM devices on these boards, but the muram node on these chips is different from the 8560, so it's helpful to people working with custom boards based on these chips. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 8abc8f5f1eda7a34394c8006fe1cb4c13ffca682 Author: Scott Wood Date: Mon Oct 8 16:08:51 2007 -0500 [POWERPC] 85xx: Convert mpc8560ads to the new CPM binding. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 52aff9f93e452b3a55be74018dc90eb0ddde0a9c Author: Scott Wood Date: Mon Oct 8 16:08:29 2007 -0500 [POWERPC] mpc8272ads: Remove muram from the CPM reg property. This is described by the muram node now. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 0a2cdd88f0b8ea98bcaf9712446cc46a240313f5 Merge: cdec12a... 17c5c20... Author: Josh Boyer Date: Thu Oct 11 07:45:20 2007 -0500 Merge branch 'virtex-for-2.6.24' of git://git.secretlab.ca/git/linux-2.6-virtex into for-2.6.24-4xx commit cdec12aebe1b10aa58bebaa05bb697843154f7f9 Author: Paul Mackerras Date: Thu Oct 11 21:46:45 2007 +1000 [POWERPC] Make clockevents work on PPC601 processors In testing the new clocksource and clockevent code on a PPC601 processor, I discovered that the clockevent multiplier value for the decrementer clockevent was overflowing. Because the RTCL register in the 601 effectively counts at 1GHz (it doesn't actually, but it increases by 128 every 128ns), and the shift value was 32, that meant the multiplier value had to be 2^32, which won't fit in an unsigned long on 32-bit. The same problem would arise on any platform where the timebase frequency was 1GHz or more (not that we actually have any such machines today). This fixes it by reducing the shift value to 16. Doing the calculations with a resolution of 2^-16 nanoseconds (15 femtoseconds) should be quite adequate. :) Signed-off-by: Paul Mackerras commit d968014b7280e2c447b20363e576999040ac72ef Author: Paul Mackerras Date: Tue Oct 9 09:59:17 2007 +1000 [POWERPC] Prevent decrementer clockevents from firing early On old powermacs, we sometimes set the decrementer to 1 in order to trigger a decrementer interrupt, which we use to handle an interrupt that was pending at the time when it was re-enabled. This was causing the decrementer clock event device to call the event function for the next event early, which was causing problems when high-res timers were not enabled. This fixes the problem by recording the timebase value at which the next event should occur, and checking the current timebase against the recorded value in timer_interrupt. If it isn't time for the next event, it just reprograms the decrementer and returns. This also subtracts 1 from the value stored into the decrementer, which is appropriate because the decrementer interrupts on the transition from 0 to -1, not when the decrementer reaches 0. Signed-off-by: Paul Mackerras commit 87a72f9e171e558a0288aa83ef1dc6ae4af32224 Author: Paul Mackerras Date: Thu Oct 4 14:18:01 2007 +1000 [POWERPC] Fix performance monitor on machines with logical PVR Some IBM machines supply a "logical" PVR (processor version register) value in the device tree in the cpu nodes rather than the real PVR. This is used for instance to indicate that the processors in a POWER6 partition have been configured by the hypervisor to run in POWER5+ mode rather than POWER6 mode. To cope with this, we call identify_cpu a second time with the logical PVR value (the first call is with the real PVR value in the very early setup code). However, POWER5+ machines can also supply a logical PVR value, and use the same value (the value that indicates a v2.04 architecture compliant processor). This causes problems for code that uses the performance monitor (such as oprofile), because the PMU registers are different in POWER6 (even in POWER5+ mode) from the real POWER5+. This change works around this problem by taking out the PMU information from the cputable entries for the logical PVR values, and changing identify_cpu so that the second call to it won't overwrite the PMU information that was established by the first call (the one with the real PVR), but does update the other fields. Specifically, if the cputable entry for the logical PVR value has num_pmcs == 0, none of the PMU-related fields get used. So that we can create a mixed cputable entry, we now make cur_cpu_spec point to a single static struct cpu_spec, and copy stuff from cpu_specs[i] into it. This has the side-effect that we can now make cpu_specs[] be initdata. Ultimately it would be good to move the PMU-related fields out to a separate structure, pointed to by the cputable entries, and change identify_cpu so that it saves the PMU info pointer, copies the whole structure, and restores the PMU info pointer, rather than identify_cpu having to list all the fields that are *not* PMU-related. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt commit a7e30b8d91d3291de4543d97849193ebc3ec4c1c Author: Philippe Rétornaz Date: Wed Oct 10 18:52:24 2007 -0400 [AVR32] Fix random segfault with preemption As explained on: http://www.avrfreaks.net/index.php?nameÿphpBB2&fileÿewtopic&tS307 If the current process is preempted before it can copy RAR_SUP and RSR_SUP both register are lost and the process will segfault as soon as it return from the syscall since the return adress will be corrupted. This patch disable IRQ as soon as we enter the syscall path and reenable them when the copy is done. In the interrupt handlers, check if we are interrupting the srrf instruction, if so disable interrupts and return. The interrupt handler will be re-called immediatly when the interrupts are reenabled. After some stressing workload: - find / > /dev/null in loop - top (in ssh) - ping -f avr32 The segfaults are not seen anymore. Signed-off-by: Philippe Rétornaz Signed-off-by: Haavard Skinnemoen commit bb7aa6d47fcd4f9ab18b4ade2ba078f7719f74ca Author: Haavard Skinnemoen Date: Wed Oct 3 15:05:20 2007 +0200 [AVR32] Don't use __builtin_xchg() The implementation of __builtin_xchg() in at least some versions of avr32 gcc is buggy. Rather than find out exactly which versions that have this bug, let's just avoid the problem altogether by implementing xchg() in inline assembly. Also, in most architectures, xchg() seems to imply a memory barrier, while the existing avr32 implementation did not. This patch also fixes that discrepancy. Signed-off-by: Haavard Skinnemoen commit 82c54f864fea26c4c44f27e2b4c4d9a811dde299 Author: David Brownell Date: Tue Sep 25 07:17:48 2007 -0700 [AVR32] ngw100 i2c-gpio tweaks Make the NGW100 bitbang i2c use open drain signaling. Also, speed it up, so it's closer to 100 kHz ... the code paths seem to be long enough that the udelay isn't dominating bit times. The peak bit rate I observed was around 125 kHz, but that's with large delays (usually before ACK/NAK) which hold the overall rate down to around 80 kHz (call it 100 usec/byte on average). Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit a7ff43b808f077e7aae2772b2f1a06a39e6b0cf8 Author: Haavard Skinnemoen Date: Sat Sep 22 23:31:39 2007 +0200 [AVR32] Ignore a few irrelevant syscalls Ignore a few syscalls that are irrelevant because they're either old, depends on NUMA or depends on SMP. Signed-off-by: Haavard Skinnemoen commit af8184718a322ae589efa583aa69ffdae61bf266 Author: Kristoffer Nyborg Gregertsen Date: Fri Aug 17 16:59:57 2007 +0200 [AVR32] SMC configuration in clock cycles This patch makes the SMC configuration take timings in clock cycles instead of nanoseconds. A function to calculate timings in clock cycles is added. This patch removes the rounding troubles of the previous SMC configuration method. [hskinnemoen@atmel.com: fix atstk1002/atngw100 flash config] Signed-off-by: Kristoffer Nyborg Gregertsen Signed-off-by: Haavard Skinnemoen commit 64f2758514e3bad19cab03d22851ab37654399a4 Author: Olof Johansson Date: Wed Oct 10 10:38:24 2007 +1000 [POWERPC] Don't enable cpu hotplug on pSeries machines with MPIC Don't allow cpu hotplug on systems lacking XICS interrupt controller (i.e. with an MPIC interrupt controller), since the current pSeries platform code is hardcoded for XICS. This works around the bug reported by Paul Mackerras where the disable_nonboot_cpus() call recently added to the shutdown path will cause an oops on older pSeries machines. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 84dd4676f5519b86aee3bfaf1b230be2cb43f69b Author: Stephen Rothwell Date: Thu Oct 11 15:19:03 2007 +1000 [POWERPC] Move of_platform_driver initialisations: arch/powerpc We no longer initialise the name and owner fields of the of_platform_driver, but use the fields of the embedded device_driver's name field instead. Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 8251b4c481bca72568e9c1042ea11189838e5f6d Author: Stephen Rothwell Date: Thu Oct 11 14:59:54 2007 +1000 [POWERPC] iSeries: Move viodasd probing This way we only have entries in the device tree for disks that actually exist. A slight complication is that disks may be attached to LPARs at runtime. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit 7465ce0db310d2fa29f721da7e3aacd1dad7090f Author: Stephen Rothwell Date: Thu Oct 11 14:58:31 2007 +1000 [POWERPC] iSeries: Move detection of virtual tapes Now we will only have entries in the device tree for the actual existing devices (including their OS/400 properties). This way viotape.c gets all the information about the devices from the device tree. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b833b481c10cf591b15cc674948cc514e55d3b94 Author: Stephen Rothwell Date: Thu Oct 11 14:57:26 2007 +1000 [POWERPC] iSeries: Move detection of virtual cdroms Now we will only have entries in the device tree for the actual existing devices (including their OS/400 properties). This way viocd.c gets all the information about the devices from the device tree. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit dd9b67ab37d57da67840276d28957498512d4dd8 Author: Stephen Rothwell Date: Thu Oct 11 14:55:02 2007 +1000 [POWERPC] Remove more iSeries-specific stuff from vio.c Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1670b2b2716b98541765da94be1332ad5c314b7a Author: Stephen Rothwell Date: Thu Oct 11 14:53:32 2007 +1000 [POWERPC] Remove iSeries_vio_dev It was only being used to carry around dma_iommu_ops and vio_iommu_table which we can use directly instead. This also means that vio_bus_device doesn't need to refer to them either. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit 73be7d5267774b8fef1d83ebffc070cd090c4398 Author: Stephen Rothwell Date: Thu Oct 11 14:50:55 2007 +1000 [POWERPC] iSeries: Simplify viocd initialisation We don't need to keep a lump of dma coherent memory around for the life of the module. Signed-off-by: Stephen Rothwell Acked-by: Jens Axboe Signed-off-by: Paul Mackerras commit b707f517d2c72c6b340ba762ed8a7de2b22935e9 Author: Stephen Rothwell Date: Thu Oct 11 14:48:24 2007 +1000 [POWERPC] Clean up vio.h Remove vio_dma_ops declaration (since it no longer exists) and some unused fields from struct vio_driver. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 745e1027751acbc1f14f8bbef378b491242b9c83 Author: Grant Likely Date: Thu Oct 11 04:48:28 2007 +1000 [POWERPC] Platforms shouldn't mess with ROOT_DEV There is no good reason for board platform code to mess with the ROOT_DEV. Remove it from all in-tree platforms except powermac. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit d27c1cedc0e4faed2c0fce9d82d4c17695e43e90 Author: Grant Likely Date: Thu Oct 11 04:48:23 2007 +1000 [POWERPC] Remove empty ppc_md.setup_arch hooks Signed-off-by: Grant Likely Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 38db7e740ade7f07f6315e3a3b1172d7e456b793 Author: Grant Likely Date: Thu Oct 11 04:48:18 2007 +1000 [POWERPC] Only call ppc_md.setup_arch() if it is provided This allows platforms which don't have anything to do at setup_arch time (like a bunch of the 4xx platforms) to eliminate an empty setup_arch hook. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit dc9b43d0f706852fc4abce5bf28958db41524328 Author: Wolfgang Denk Date: Wed Oct 10 08:36:18 2007 +1000 [POWERPC] Disable vDSO support for ARCH=ppc where it's not implemented Signed-off-by: Wolfgang Denk Signed-off-by: Paul Mackerras commit 193fdd1a99db8623697cb18a13dbcaa4eadbb1f2 Author: Robert P. J. Day Date: Wed Sep 19 08:43:42 2007 -0400 [AVR32] Drop support for redundant "keepinitrd" boot-time parm. Given the existing "retain_initrd" boot-time parameter defined in init/initramfs.c, there appears to be no need for the equivalent "keepinitrd" parameter. Signed-off-by: Robert P. J. Day Signed-off-by: Haavard Skinnemoen commit b5a8e7362a0a5088ac080086d41cd98a54e0791b Author: Haavard Skinnemoen Date: Fri Sep 7 16:00:25 2007 +0100 [AVR32] Make dma_sync_*_for_cpu no-ops I don't think the dma_sync_*_for_cpu ever did anything useful. We flush the relevant cache lines when mapping the buffer or when calling dma_sync_*_for_device(), and the CPU isn't allowed to touch the buffer after that. In other words, if these functions actually have anything to flush from the caches, we're already in trouble. Signed-off-by: Haavard Skinnemoen commit 0d2372e5d61ccc1c618aaf5099700c8dc76e234a Author: Haavard Skinnemoen Date: Mon Sep 17 11:13:45 2007 +0200 [AVR32] Remove unneeded 8K alignment of .text section __init_end, which comes immediately before .text, is already page aligned, and that should be more than enough for the .text section. The reason why we need to align the .text section is because the interrupt handler offset is ORed with EVBA, so we need to provide enough alignment of EVBA that this OR operation works as an ADD. Currently, the last interrupt handler is not nearly a full page away from EVBA, so it won't be a problem. Signed-off-by: Haavard Skinnemoen commit 7cf6ac2ae240e02ebdd2717a09d083d47cb60251 Author: Haavard Skinnemoen Date: Mon Sep 17 11:08:28 2007 +0200 [AVR32] Kill a few hardcoded constants in vmlinux.lds Use PAGE_SIZE, THREAD_SIZE and L1_CACHE_BYTES instead of harcoded constants in places where that's what we really mean. Signed-off-by: Haavard Skinnemoen commit 4e59629bf68e8a6f19b806f8ace3d0f31221c4a4 Author: Sam Ravnborg Date: Sat Sep 15 22:47:02 2007 +0200 [AVR32] rename vmlinux.lds Rename vmlinux.lds to a .S file to match other architectures. Simplify Makefile to match the rename and deleted the unused USE_STANDARD_AS_RULE Signed-off-by: Sam Ravnborg Signed-off-by: Haavard Skinnemoen commit fe57f84efe3165a1e2ec477b256870f3d43b698a Author: Matteo Vit Date: Wed Aug 29 10:19:40 2007 +0200 [AVR32] fix command line parsing in early_parse_fbmem Signed-off-by: Matteo Vit - Dave S.r.l. Signed-off-by: Haavard Skinnemoen commit 0367d89274d47941b1bc02e35ddad24077de3ce7 Author: Haavard Skinnemoen Date: Wed Jan 4 16:58:49 2006 +0100 [AVR32] checkstack support Add regexes to recognize stack frame adjustments in AVR32 code. Signed-off-by: Haavard Skinnemoen commit d71fce6b932d83e0a1caa49dfa5a536fd50f07c9 Author: Andrew Morton Date: Thu Oct 11 02:44:23 2007 -0700 [QETH]: fix qeth_main.c drivers/s390/net/qeth_main.c: In function 'qeth_hard_header_parse': drivers/s390/net/qeth_main.c:6584: error: 'dev' undeclared (first use in this function) drivers/s390/net/qeth_main.c:6584: error: (Each undeclared identifier is reported only once drivers/s390/net/qeth_main.c:6584: error: for each function it appears in.) Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6fcf0615117dcfa126083f2163c4dcea3098bbe3 Author: Haavard Skinnemoen Date: Thu Jun 14 17:37:31 2007 +0200 [AVR32] Wire up USBA device Implement at32_add_device_usba() and use it to wire up the USBA device on ATSTK1000 and ATNGW100. Signed-off-by: Haavard Skinnemoen commit 7808fa4853728a776d7e76d68fb406f515a4119c Author: Matteo Vit Date: Thu Aug 9 14:55:34 2007 +0200 [AVR32] add multidrive support for pio driver This patch add multidrive support for pio driver Signed-off-by: Matteo Vit - Dave S.r.l. Signed-off-by: Haavard Skinnemoen commit d938b89392bd3ff64e0610d8c4e0d3f7091d98db Author: David Brownell Date: Thu Aug 9 20:56:07 2007 -0700 [AVR32] /sys/kernel/debug/at32ap_clk When debugfs is available, /sys/kernel/debug/at32ap_clk will provide a dump of the power manager registers and of the current clock tree. This can help sorting out various surprises, and when making runtime PM work. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 2417a130bd4013f804983c62cb116bc9ec7f8e2d Author: Haavard Skinnemoen Date: Thu Aug 16 11:12:47 2007 +0200 [AVR32] Move AT32_PM_BASE definition into pm.h We don't want to redefine this in every file that needs to access the PM. Signed-off-by: Haavard Skinnemoen commit 754090fb438b423c953b0db82505184d7738e0d1 Author: Thomas Gleixner Date: Thu Oct 11 11:20:06 2007 +0200 x86: remove migration makefile tweaks The makefile tweaks to allow the build during the move of code from arch/i386 and arch/x86_64 are not longer necessary. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 914d97fd9925639574d22fc9cdfac7ddd8f325d6 Author: Thomas Gleixner Date: Thu Oct 11 11:20:05 2007 +0200 x86: Add feature-removal entry for bzImage symlinks The i386/x86_64 merge provides a symlink to the old bzImage location. This is just a transitional migration helper. Remove it after a 6 month grace period. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 96a388de5dc53a8b234b3fd41f3ae2cedc9ffd42 Author: Thomas Gleixner Date: Thu Oct 11 11:20:03 2007 +0200 i386/x86_64: move headers to include/asm-x86 Move the headers to include/asm-x86 and fixup the header install make rules Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 27bd0c955648646abf2a353a8371d28c37bcd982 Author: Thomas Gleixner Date: Thu Oct 11 11:17:26 2007 +0200 x86: sanitize pathes arch/x86/kernel/cpu/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 45bc6cd11953a5729508a92be24b35cd4df9c967 Author: Thomas Gleixner Date: Thu Oct 11 11:17:25 2007 +0200 x86: sanitize pathes arch/x86/kernel/Makefile_64 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c668ce14f59db28a3551792763a0107caf3b9820 Author: Thomas Gleixner Date: Thu Oct 11 11:17:25 2007 +0200 x86: sanitize pathes arch/x86/kernel/Makefile_32 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 250c22777fe1ccd7ac588579a6c16db4c0161cc5 Author: Thomas Gleixner Date: Thu Oct 11 11:17:24 2007 +0200 x86_64: move kernel Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2db55d344e529492545cb3b755c7e9ba8e4fa94e Author: Thomas Gleixner Date: Thu Oct 11 11:17:21 2007 +0200 x86_64: move ia32 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 33fc6d51336046bd6e8c7d1a42faff881fa6fb45 Author: Thomas Gleixner Date: Thu Oct 11 11:17:19 2007 +0200 x86_64: move oprofile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 95119fbd87aabc263746731462062af5a38c0222 Author: Thomas Gleixner Date: Thu Oct 11 11:17:18 2007 +0200 x86_64: move mm Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2a6c8d5a7e92a3e8db30fa0c5956a29c79d7e5a3 Author: Thomas Gleixner Date: Thu Oct 11 11:17:16 2007 +0200 x86_64: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9e9b4573e4411ac5fcfb6ba04ad360d3de6414ba Author: Thomas Gleixner Date: Thu Oct 11 11:17:15 2007 +0200 x86_64: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aadfb679c8eb9b83125833f03b5221889595b67c Author: Thomas Gleixner Date: Thu Oct 11 11:17:13 2007 +0200 x86_64: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f68c065491ceda1ad00f8dc493e274a79b8c2ba4 Author: Thomas Gleixner Date: Thu Oct 11 11:17:12 2007 +0200 x86_64: move pci Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7648b1330c335601b7c09c25f77a03cda128fcab Author: Thomas Gleixner Date: Thu Oct 11 11:17:10 2007 +0200 x86_64: move vdso Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 185f3d38900f750a4566f87cde6a178f3595a115 Author: Thomas Gleixner Date: Thu Oct 11 11:17:08 2007 +0200 x86_64: move lib Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 51b2833060f26258ea2da091c7b9c6a358ac9dd2 Author: Thomas Gleixner Date: Thu Oct 11 11:17:06 2007 +0200 x86_64: move kernel/cpufreq Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e8d08eb1b59bf6dda44fffe63cce1250d87a8b56 Author: Thomas Gleixner Date: Thu Oct 11 11:17:05 2007 +0200 x86_64: move kernel/acpi Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 987c75d7170686804b404b7f917b9e4b703702ff Author: Thomas Gleixner Date: Thu Oct 11 11:17:03 2007 +0200 x86_64: move crypto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9a163ed8e0552fdcffe405d2ea7134819a81456e Author: Thomas Gleixner Date: Thu Oct 11 11:17:01 2007 +0200 i386: move kernel Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f7627e2513987bb5d4e8cb13c4e0a478352141ac Author: Thomas Gleixner Date: Thu Oct 11 11:16:58 2007 +0200 i386: move kernel/cpu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4ac24f63fd203bc12a841a88a2034dccd358d0d1 Author: Thomas Gleixner Date: Thu Oct 11 11:16:56 2007 +0200 i386: move video Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ff4395654dc6a3a5e35611940047114d4f3d0a7a Author: Thomas Gleixner Date: Thu Oct 11 11:16:55 2007 +0200 i386: move oprofile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9402e12b8fef1efe9cf949fc020dcda22d9d8667 Author: Thomas Gleixner Date: Thu Oct 11 11:16:53 2007 +0200 i386: move mach-voyager Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9702785a747aa27baf46ff504beab6528f21f2dd Author: Thomas Gleixner Date: Thu Oct 11 11:16:51 2007 +0200 i386: move xen Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 334e621a01f86d5bc25e4f742e1eaae6e2d2a97a Author: Thomas Gleixner Date: Thu Oct 11 11:16:50 2007 +0200 i386: move mach-es7000 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d629e03b64c469245ceb07d05460e1e2eefa7585 Author: Thomas Gleixner Date: Thu Oct 11 11:16:48 2007 +0200 i386: move mach-default Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ad757b6aa5801b81dec609d87753604a06313c53 Author: Thomas Gleixner Date: Thu Oct 11 11:16:47 2007 +0200 i386: move mm Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 96ae6ea0be1b902c28b3b463c27da42b41e2b63a Author: Thomas Gleixner Date: Thu Oct 11 11:16:45 2007 +0200 i386: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0530bf37cebcf22a73652937c2340bc1ebd92000 Author: Thomas Gleixner Date: Thu Oct 11 11:16:43 2007 +0200 i386: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 19d8d79ccfd2fb67b1eb86e3c634a2e68a4c4b11 Author: Thomas Gleixner Date: Thu Oct 11 11:16:41 2007 +0200 i386: move boot Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c750a66b0ebfcd8f4cb353ab37b286c8cd93ad10 Author: Thomas Gleixner Date: Thu Oct 11 11:16:39 2007 +0200 i386: move mach-generic Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c2b84d8d1a66a0a886de51f1bfef5c4f16c0c784 Author: Thomas Gleixner Date: Thu Oct 11 11:16:38 2007 +0200 i386: move mach-visws Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fb9aa6f1d4a1e11e66a680460b2c2b2b10b62f79 Author: Thomas Gleixner Date: Thu Oct 11 11:16:36 2007 +0200 i386: move pci Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4b60eb8380a0b588a03b6052d7ac93e1964c75b8 Author: Thomas Gleixner Date: Thu Oct 11 11:16:34 2007 +0200 i386: move power Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 44f0257fc316ff4b33aa3438dd8d891b7d6d72b9 Author: Thomas Gleixner Date: Thu Oct 11 11:16:33 2007 +0200 i386: move lib Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit da957e111bb0c189a4a3bf8a00caaecb59ed94ca Author: Thomas Gleixner Date: Thu Oct 11 11:16:31 2007 +0200 i386: move math-emu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2ec1df4130c60d1eb49dc0fa0ed15858fede6b05 Author: Thomas Gleixner Date: Thu Oct 11 11:16:28 2007 +0200 i386: move kernel/cpu/mtrr Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ee580dc91efd83e6b55955e7261e8ad2a0e08d1a Author: Thomas Gleixner Date: Thu Oct 11 11:16:27 2007 +0200 i386: move kernel/cpu/cpufreq Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c18db0d7e299791c73d4dbe5ae7905b2ab8ba332 Author: Thomas Gleixner Date: Thu Oct 11 11:16:25 2007 +0200 i386: move kernel/cpu/mcheck Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 23d6f82bd1f07886b3a974c5193baa715475dd37 Author: Thomas Gleixner Date: Thu Oct 11 11:16:23 2007 +0200 i386: move kernel/acpi Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9c2019421511a1bc646981d55528334ae46464c0 Author: Thomas Gleixner Date: Thu Oct 11 11:16:21 2007 +0200 i386: move crypto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit af49d41e8c0e6649b3966470aa6319585144f8e8 Author: Thomas Gleixner Date: Thu Oct 11 11:16:20 2007 +0200 x86_64: prepare shared mm/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9c89b008ca6ec2c1b75b1e9c698a0cc4dcbf5e4e Author: Thomas Gleixner Date: Thu Oct 11 11:16:19 2007 +0200 x86_64: prepare shared mm/fault.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4ec0f73f27cbcf728311d8da7994477c1bd4edbb Author: Thomas Gleixner Date: Thu Oct 11 11:16:18 2007 +0200 x86_64: prepare shared mm/pageattr.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5140b4f77d75debc47ccb9b77e00d2e1c68e1a3e Author: Thomas Gleixner Date: Thu Oct 11 11:16:16 2007 +0200 x86_64: prepare shared mm/k8topology.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c559b6fdd148b28358862c68d835e67dab997080 Author: Thomas Gleixner Date: Thu Oct 11 11:16:15 2007 +0200 x86_64: prepare shared mm/extable.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4d381b582896529c3ab0f5ba815b8133a4e6d5fa Author: Thomas Gleixner Date: Thu Oct 11 11:16:14 2007 +0200 x86_64: prepare shared mm/numa.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b2110a17787f1eb6a60f52e12b119d2ef3013bc2 Author: Thomas Gleixner Date: Thu Oct 11 11:16:12 2007 +0200 x86_64: prepare shared mm/mmap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4391e4cc250a61e925bec05f11f9b1c0a8277ec4 Author: Thomas Gleixner Date: Thu Oct 11 11:16:11 2007 +0200 x86_64: prepare shared mm/init.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f3ba86d98a4c985788269b93ca8133c991a2e09a Author: Thomas Gleixner Date: Thu Oct 11 11:16:09 2007 +0200 x86_64: prepare shared mm/ioremap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit de48b0466641eb505426a6a18eb0b5490f3e6571 Author: Thomas Gleixner Date: Thu Oct 11 11:16:08 2007 +0200 x86_64: prepare shared mm/srat.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b9fe6ce1c0dd85b57f3e350b566c389d16681254 Author: Thomas Gleixner Date: Thu Oct 11 11:16:06 2007 +0200 x86_64: prepare shared boot/compressed/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 16cfc182fd3749644a35a134316766dcef5f0d24 Author: Thomas Gleixner Date: Thu Oct 11 11:16:06 2007 +0200 x86_64: prepare shared boot/compressed/head.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e5e96ef2899fb9d6009a53f83952e00cad2a97ab Author: Thomas Gleixner Date: Thu Oct 11 11:16:04 2007 +0200 x86_64: prepare shared boot/compressed/vmlinux.scr Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4290fcfd7391886c84e7e28ef2ac1125c15154f8 Author: Thomas Gleixner Date: Thu Oct 11 11:16:03 2007 +0200 x86_64: prepare shared boot/compressed/vmlinux.lds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6f80a03f0c7f03142219d5fafe4c7232b34eab9c Author: Thomas Gleixner Date: Thu Oct 11 11:16:01 2007 +0200 x86_64: prepare shared boot/compressed/misc.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7b06e6c58cf71c4c1a930905e395ea73130aa6e0 Author: Thomas Gleixner Date: Thu Oct 11 11:16:00 2007 +0200 x86_64: prepare shared pci/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e0915fb261707f4e3ba460871b5454c7d4726df6 Author: Thomas Gleixner Date: Thu Oct 11 11:16:00 2007 +0200 x86_64: prepare shared pci/mmconfig.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 08d4759ee7d50d3a77061c13d246a28266655800 Author: Thomas Gleixner Date: Thu Oct 11 11:15:58 2007 +0200 x86_64: prepare shared pci/k8-bus.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4dc55b8696bc17c8e4315bce50d9bfe9ef2dc05f Author: Thomas Gleixner Date: Thu Oct 11 11:15:57 2007 +0200 x86_64: prepare shared lib/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6e7873f6ff38bca29bc65cb8c96fd7f557215755 Author: Thomas Gleixner Date: Thu Oct 11 11:15:56 2007 +0200 x86_64: prepare shared lib/copy_user.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2a6c7b6bbfefbe37dbbc31a209dbf0166ee51a07 Author: Thomas Gleixner Date: Thu Oct 11 11:15:55 2007 +0200 x86_64: prepare shared lib/memset.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e72ba5136d3c56eaf6a9654e2f8545354c196efc Author: Thomas Gleixner Date: Thu Oct 11 11:15:53 2007 +0200 x86_64: prepare shared lib/io.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 21767fad2ba94675bcf49c0796b4b2a65702c974 Author: Thomas Gleixner Date: Thu Oct 11 11:15:52 2007 +0200 x86_64: prepare shared lib/csum-partial.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit dcd30b189cc3879278285db616c7baecf5f6493f Author: Thomas Gleixner Date: Thu Oct 11 11:15:50 2007 +0200 x86_64: prepare shared lib/delay.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a856413e26785ea5585c06b1aa773ed44bc116aa Author: Thomas Gleixner Date: Thu Oct 11 11:15:49 2007 +0200 x86_64: prepare shared lib/putuser.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d7eb5e98f45e88762676744f1ab0f7f4c1354fb9 Author: Thomas Gleixner Date: Thu Oct 11 11:15:48 2007 +0200 x86_64: prepare shared lib/bitops.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 584d92415b5c4e93e2bc3d18756815758f2a1f07 Author: Thomas Gleixner Date: Thu Oct 11 11:15:46 2007 +0200 x86_64: prepare shared lib/usercopy.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4529a0f636cd77909fb1f10c25edc52a22950366 Author: Thomas Gleixner Date: Thu Oct 11 11:15:45 2007 +0200 x86_64: prepare shared lib/getuser.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 83aaddb721364e55b4df373073019cfdf170a7be Author: Thomas Gleixner Date: Thu Oct 11 11:15:43 2007 +0200 x86_64: prepare shared lib/csum-wrappers.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5fa2ae8e9e6c5a23e0e3955d3c0d55c1e08e603f Author: Thomas Gleixner Date: Thu Oct 11 11:15:42 2007 +0200 x86_64: prepare shared lib/memmove.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 79c67e5356db9dbf2974962fe589d7482e463dc5 Author: Thomas Gleixner Date: Thu Oct 11 11:15:40 2007 +0200 x86_64: prepare shared lib/copy_user_nocache.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ff8e90da7c3ccf2e74e7ab4a57a0ff6e0de027b0 Author: Thomas Gleixner Date: Thu Oct 11 11:15:39 2007 +0200 x86_64: prepare shared lib/memcpy.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 42421ce3468d46cd875acd3d87384528f9fe8a39 Author: Thomas Gleixner Date: Thu Oct 11 11:15:37 2007 +0200 x86_64: prepare shared lib/rwlock.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0068f260578fc54aa7d10bb3e4a25118287f00f7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:36 2007 +0200 x86_64: prepare shared lib/clear_page.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c9954d39e7d8b2f12517aa02d4d7b96eb4761a1d Author: Thomas Gleixner Date: Thu Oct 11 11:15:35 2007 +0200 x86_64: prepare shared lib/csum-copy.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3b405f4ed4df8f9c9ff765c9e81996ba46e79844 Author: Thomas Gleixner Date: Thu Oct 11 11:15:33 2007 +0200 x86_64: prepare shared lib/bitstr.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7d96027379c0f43f7169019c814cadca7487d507 Author: Thomas Gleixner Date: Thu Oct 11 11:15:32 2007 +0200 x86_64: prepare shared lib/copy_page.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 201c943463f9581ed7aac02db5ab6bc3091f5c03 Author: Thomas Gleixner Date: Thu Oct 11 11:15:30 2007 +0200 x86_64: prepare shared lib/iomap_copy.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 426458d004001ed323073c67b46963f024880ec1 Author: Thomas Gleixner Date: Thu Oct 11 11:15:29 2007 +0200 x86_64: prepare shared lib/thunk.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f11cfb424c78ef8a6d9fc80922577756cec00282 Author: Thomas Gleixner Date: Thu Oct 11 11:15:27 2007 +0200 x86_64: prepare shared kernel/acpi/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 08c81f47fcba935d937e45a592ad7b00e9296a2f Author: Thomas Gleixner Date: Thu Oct 11 11:15:27 2007 +0200 x86_64: prepare shared kernel/acpi/sleep.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a9c0350568b93ba7204a56644031a2332c9517d1 Author: Thomas Gleixner Date: Thu Oct 11 11:15:25 2007 +0200 x86_64: prepare shared kernel/acpi/wakeup.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a7a67e0e2db47cb8cfa2c550aaedf168b8275cce Author: Thomas Gleixner Date: Thu Oct 11 11:15:24 2007 +0200 x86_64: prepare shared kernel/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 46b4c119b4b67dfab3f1e644d6f8bdbf28f18411 Author: Thomas Gleixner Date: Thu Oct 11 11:15:23 2007 +0200 x86_64: prepare shared kernel/pci-gart.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f328f81b54ecc19d2d13710dca01e5f01f1ff449 Author: Thomas Gleixner Date: Thu Oct 11 11:15:22 2007 +0200 x86_64: prepare shared kernel/syscall.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6e04c835f1b9f1adde05b7439eaa1a4fff9ce8c7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:21 2007 +0200 x86_64: prepare shared kernel/machine_kexec.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e0a84f689b4373cbaa6d3a5bc5c52a613005fed1 Author: Thomas Gleixner Date: Thu Oct 11 11:15:19 2007 +0200 x86_64: prepare shared kernel/verify_cpu.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 977d5654cb630d6845b84a984fb5698e839f20f2 Author: Thomas Gleixner Date: Thu Oct 11 11:15:17 2007 +0200 x86_64: prepare shared kernel/head.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 13c4896799d1610956f307534aa22d644b92bee7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:16 2007 +0200 x86_64: prepare shared kernel/tsc.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8e59c31a0af824ddb158a7007faa66fc8ca4dbe4 Author: Thomas Gleixner Date: Thu Oct 11 11:15:14 2007 +0200 x86_64: prepare shared kernel/entry.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2a232a7656c085ecde659dc1dbaf65cc4fbf7ed7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:13 2007 +0200 x86_64: prepare shared kernel/genapic_flat.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 81656390b8dec51ba7b4713a321b353fb2d3ccb1 Author: Thomas Gleixner Date: Thu Oct 11 11:15:12 2007 +0200 x86_64: prepare shared kernel/kprobes.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bd4c1b5baacbc7e4257c00f087abfd3f7aef2dfb Author: Thomas Gleixner Date: Thu Oct 11 11:15:10 2007 +0200 x86_64: prepare shared kernel/process.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e6505ca668b2c21c06abb7bb96a8272a6f83411f Author: Thomas Gleixner Date: Thu Oct 11 11:15:09 2007 +0200 x86_64: prepare shared kernel/x8664_ksyms.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5d0c9ec6dd7204e5895260d83a90c5a0d64143f7 Author: Thomas Gleixner Date: Thu Oct 11 11:15:07 2007 +0200 x86_64: prepare shared kernel/init_task.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c76e79e010a8c48a95cfa947e192c40cdae23f7e Author: Thomas Gleixner Date: Thu Oct 11 11:15:06 2007 +0200 x86_64: prepare shared kernel/ldt.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0c45a7730bbad8a3770da2698243e45b117092be Author: Thomas Gleixner Date: Thu Oct 11 11:15:04 2007 +0200 x86_64: prepare shared kernel/crash_dump.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1cce595a8394105ea56499f94373dd8d5b0d3b51 Author: Thomas Gleixner Date: Thu Oct 11 11:15:03 2007 +0200 x86_64: prepare shared kernel/reboot.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 32404da2ac967a8776083259e05afc4ea6567cea Author: Thomas Gleixner Date: Thu Oct 11 11:15:01 2007 +0200 x86_64: prepare shared kernel/trampoline.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 201962c9d38bc57b4764ecd03068902f8d2ad54c Author: Thomas Gleixner Date: Thu Oct 11 11:15:00 2007 +0200 x86_64: prepare shared kernel/irq.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7950ca5d01f6cb5ec99ccd8548ef6a55c9ea2690 Author: Thomas Gleixner Date: Thu Oct 11 11:14:59 2007 +0200 x86_64: prepare shared kernel/ptrace.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2c7de090f86d9972a741a313de76996865814b74 Author: Thomas Gleixner Date: Thu Oct 11 11:14:57 2007 +0200 x86_64: prepare shared kernel/suspend.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e877d83a8e2643a026559a60ac6d1ee9fb827677 Author: Thomas Gleixner Date: Thu Oct 11 11:14:56 2007 +0200 x86_64: prepare shared kernel/audit.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit abb11834c6515161babea211a7be1fc6dcb893dc Author: Thomas Gleixner Date: Thu Oct 11 11:14:54 2007 +0200 x86_64: prepare shared kernel/time.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 96a6674c5ad6a6f596aab6ac826b93f5cd846749 Author: Thomas Gleixner Date: Thu Oct 11 11:14:53 2007 +0200 x86_64: prepare shared kernel/mce.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1d56734f9e51b21a92a02f526c278c037de65822 Author: Thomas Gleixner Date: Thu Oct 11 11:14:51 2007 +0200 x86_64: prepare shared kernel/mpparse.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 93de1ef4543e80a1a9bfdb7a854d155f6530df2e Author: Thomas Gleixner Date: Thu Oct 11 11:14:50 2007 +0200 x86_64: prepare shared kernel/pmtimer.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1a333ab079458b8ca58ebb761ebca48b7fc9ab5c Author: Thomas Gleixner Date: Thu Oct 11 11:14:49 2007 +0200 x86_64: prepare shared kernel/early-quirks.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a6d83df15c53a5f503c50e3d824c1cf3f89ebb1a Author: Thomas Gleixner Date: Thu Oct 11 11:14:47 2007 +0200 x86_64: prepare shared kernel/vsmp.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 198a071dff9ee61973edf8c58f22ecd5bc4892c8 Author: Thomas Gleixner Date: Thu Oct 11 11:14:46 2007 +0200 x86_64: prepare shared kernel/genapic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3b69915deee81842ba192c251573141ac3af86db Author: Thomas Gleixner Date: Thu Oct 11 11:14:44 2007 +0200 x86_64: prepare shared kernel/bugs.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4f1124c5bcc5e0b139930d98687db80fd4d67a1c Author: Thomas Gleixner Date: Thu Oct 11 11:14:43 2007 +0200 x86_64: prepare shared kernel/pci-swiotlb.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eb102ecb73dffbbbdfccd0ea582f405b0c0cc1fe Author: Thomas Gleixner Date: Thu Oct 11 11:14:41 2007 +0200 x86_64: prepare shared kernel/i387.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4c1c61c408ce5e8024298259831d71d6079a9a6d Author: Thomas Gleixner Date: Thu Oct 11 11:14:40 2007 +0200 x86_64: prepare shared kernel/signal.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c4fbd8a94697ff1186130542f36d7b520b288001 Author: Thomas Gleixner Date: Thu Oct 11 11:14:38 2007 +0200 x86_64: prepare shared kernel/pci-nommu.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ba733ec4725df406a6ff5c5c1e6c447f42bbf39d Author: Thomas Gleixner Date: Thu Oct 11 11:14:37 2007 +0200 x86_64: prepare shared kernel/suspend_asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e86a989de27d4c0226928d6132f284f6156f30f7 Author: Thomas Gleixner Date: Thu Oct 11 11:14:36 2007 +0200 x86_64: prepare shared kernel/tce.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2cf08fa82161bf398c1a6321d738a45730b0acd2 Author: Thomas Gleixner Date: Thu Oct 11 11:14:34 2007 +0200 x86_64: prepare shared kernel/ioport.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 21a44007745783d8997ed115852a42fb2613bf9a Author: Thomas Gleixner Date: Thu Oct 11 11:14:33 2007 +0200 x86_64: prepare shared kernel/vsyscall.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c30501e798fad2be81379bac98b6cfe731308f94 Author: Thomas Gleixner Date: Thu Oct 11 11:14:31 2007 +0200 x86_64: prepare shared kernel/setup.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7b022a67921723774a2d2fa018dfd9a5e5c3c90f Author: Thomas Gleixner Date: Thu Oct 11 11:14:30 2007 +0200 x86_64: prepare shared kernel/smpboot.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 36e54eec6871634a2f8f12d42a3a1c08ed0cbca5 Author: Thomas Gleixner Date: Thu Oct 11 11:14:28 2007 +0200 x86_64: prepare shared kernel/mce_intel.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b43312c45e51aa79d76850f85a5731f24c1b0d8d Author: Thomas Gleixner Date: Thu Oct 11 11:14:27 2007 +0200 x86_64: prepare shared kernel/e820.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3940abdf5e7f62bf47c4117f9201c121fbb0ab16 Author: Thomas Gleixner Date: Thu Oct 11 11:14:26 2007 +0200 x86_64: prepare shared kernel/hpet.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5b8d883929091c647635392bafc8fc0962d4b43f Author: Thomas Gleixner Date: Thu Oct 11 11:14:24 2007 +0200 x86_64: prepare shared kernel/nmi.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bd751ae043e89e2e44e6af784df5a70694b1c9b7 Author: Thomas Gleixner Date: Thu Oct 11 11:14:23 2007 +0200 x86_64: prepare shared kernel/apic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 13a9cd42466e12113859c4d7b41561e8bbcaf09d Author: Thomas Gleixner Date: Thu Oct 11 11:14:21 2007 +0200 x86_64: prepare shared kernel/vmlinux.lds.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0856268597a2ce7efc30390695d655d3dee05ca8 Author: Thomas Gleixner Date: Thu Oct 11 11:14:21 2007 +0200 x86_64: prepare shared kernel/module.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c3ca5f30b607298c6c33bfc5318de1cf542c50ef Author: Thomas Gleixner Date: Thu Oct 11 11:14:19 2007 +0200 x86_64: prepare shared kernel/asm-offsets.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8b6f65ed7a216ff4591604ffe8d718981bad1224 Author: Thomas Gleixner Date: Thu Oct 11 11:14:19 2007 +0200 x86_64: prepare shared kernel/crash.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1e272fd4a2291ad8cac52752e0753e165cfe819f Author: Thomas Gleixner Date: Thu Oct 11 11:14:17 2007 +0200 x86_64: prepare shared kernel/smp.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2e53e9012068eab25406d014618eef8993584ff1 Author: Thomas Gleixner Date: Thu Oct 11 11:14:16 2007 +0200 x86_64: prepare shared kernel/relocate_kernel.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7d75d20c61641fe0915c7a7c9c414e5e2c6f3318 Author: Thomas Gleixner Date: Thu Oct 11 11:14:14 2007 +0200 x86_64: prepare shared kernel/mce_amd.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8d7083f3b038c0196ae0f9f161f8a49e85cde164 Author: Thomas Gleixner Date: Thu Oct 11 11:14:13 2007 +0200 x86_64: prepare shared kernel/i8259.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b34ab7a13d18e2f6ef1241db1a6209fb43478aa3 Author: Thomas Gleixner Date: Thu Oct 11 11:14:11 2007 +0200 x86_64: prepare shared kernel/pci-dma.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2a8eb13a0689439eb9c34be062e6a5284832bb02 Author: Thomas Gleixner Date: Thu Oct 11 11:14:10 2007 +0200 x86_64: prepare shared kernel/pci-calgary.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cc7de6036cd93d5ca7228fe8ca921b6dc9050c83 Author: Thomas Gleixner Date: Thu Oct 11 11:14:09 2007 +0200 x86_64: prepare shared kernel/io_apic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ba77c2d762ccac01dc9302c63e21605552f177e Author: Thomas Gleixner Date: Thu Oct 11 11:14:07 2007 +0200 x86_64: prepare shared kernel/aperture.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 76acb5c02fce49c6efcaa30dd9374753191b3f8e Author: Thomas Gleixner Date: Thu Oct 11 11:14:06 2007 +0200 x86_64: prepare shared kernel/traps.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3900b170baf0fa2bfe5ed43592e9acc95521fe0a Author: Thomas Gleixner Date: Thu Oct 11 11:14:04 2007 +0200 x86_64: prepare shared crypto/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d685249a33eb729d1dbe7ee54d63cb81fdee53da Author: Thomas Gleixner Date: Thu Oct 11 11:14:04 2007 +0200 x86_64: prepare shared crypto/aes.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e4bd76e1c561e843fd7cd1f99fc295b64e261894 Author: Thomas Gleixner Date: Thu Oct 11 11:14:02 2007 +0200 x86_64: prepare shared crypto/twofish-x86_64-asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4d2920c9c03b9044c82da16f98eb2d536d240c4e Author: Thomas Gleixner Date: Thu Oct 11 11:14:01 2007 +0200 x86_64: prepare shared crypto/aes-x86_64-asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e444d14d632a1d379c1793147c61a95a24ed976a Author: Thomas Gleixner Date: Thu Oct 11 11:13:59 2007 +0200 x86_64: prepare shared crypto/twofish.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 82606d5738f29d3026159ebabba687facd25276e Author: Thomas Gleixner Date: Thu Oct 11 11:13:58 2007 +0200 i386: prepare shared mm/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 359fd6de61fc8777316709fb79047c480b3eae0d Author: Thomas Gleixner Date: Thu Oct 11 11:13:57 2007 +0200 i386: prepare shared mm/fault.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 55f98f1a26ff6cbed6189ec90143cc5c428d5b78 Author: Thomas Gleixner Date: Thu Oct 11 11:13:56 2007 +0200 i386: prepare shared mm/pageattr.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b0aeae21da297caad0d6d0608b197e6ef97faf6d Author: Thomas Gleixner Date: Thu Oct 11 11:13:55 2007 +0200 i386: prepare shared mm/highmem.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1c9541c7bc437c4d1bcad1e56770622c24e634a1 Author: Thomas Gleixner Date: Thu Oct 11 11:13:53 2007 +0200 i386: prepare shared mm/pgtable.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 94577c112487d68db4f258bd19cfc7100480d0cc Author: Thomas Gleixner Date: Thu Oct 11 11:13:52 2007 +0200 i386: prepare shared mm/extable.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7099ec6e17b3d207f1c622cff023209acc6ba47a Author: Thomas Gleixner Date: Thu Oct 11 11:13:50 2007 +0200 i386: prepare shared mm/boot_ioremap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0b690a40d30ff6924953888d43ab8e90d401fcc7 Author: Thomas Gleixner Date: Thu Oct 11 11:13:49 2007 +0200 i386: prepare shared mm/mmap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit afb5ce0671f8b14f15525fd3e952b4a989c94a6b Author: Thomas Gleixner Date: Thu Oct 11 11:13:47 2007 +0200 i386: prepare shared mm/init.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6e5191ef150947ed6e42751010e4932436e70ec9 Author: Thomas Gleixner Date: Thu Oct 11 11:13:46 2007 +0200 i386: prepare shared mm/discontig.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1fd10ed659d6840850311e991ee3ba78e9e5a4a4 Author: Thomas Gleixner Date: Thu Oct 11 11:13:45 2007 +0200 i386: prepare shared mm/ioremap.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9b88467687550507cca30b49217518e8ba8cda4e Author: Thomas Gleixner Date: Thu Oct 11 11:13:43 2007 +0200 i386: prepare shared boot/compressed/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 16ae1544b763b33673f82d667b0f7699dd1274b9 Author: Thomas Gleixner Date: Thu Oct 11 11:13:43 2007 +0200 i386: prepare shared boot/compressed/head.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 20e482b6421cffa92942e2c4970c113667451205 Author: Thomas Gleixner Date: Thu Oct 11 11:13:41 2007 +0200 i386: prepare shared boot/compressed/vmlinux.scr Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e2ec98525d815d6e68dd509e5a4c9b93e55d622d Author: Thomas Gleixner Date: Thu Oct 11 11:13:40 2007 +0200 i386: prepare shared boot/compressed/vmlinux.lds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c1c85a52c755c86840f83669bbab63962ab231ff Author: Thomas Gleixner Date: Thu Oct 11 11:13:38 2007 +0200 i386: prepare shared boot/compressed/misc.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5fa25bee6cee459ee3d08f7544cca5a9fb016c8b Author: Thomas Gleixner Date: Thu Oct 11 11:13:37 2007 +0200 i386: prepare shared pci/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e32c44c8349dbdf7712a7d868fdbff75599c9005 Author: Thomas Gleixner Date: Thu Oct 11 11:13:36 2007 +0200 i386: prepare shared pci/mmconfig.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5fde34fddcb58af7bd08c143389ed074f8715f9f Author: Thomas Gleixner Date: Thu Oct 11 11:13:35 2007 +0200 i386: prepare shared lib/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d779d8f9f8419e8492959adc267cdf5478bc4748 Author: Thomas Gleixner Date: Thu Oct 11 11:13:34 2007 +0200 i386: prepare shared lib/delay.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6e696842484ffcf018bba6a46610091ff68f49a8 Author: Thomas Gleixner Date: Thu Oct 11 11:13:33 2007 +0200 i386: prepare shared lib/putuser.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6d1f5420f0d4bd6f391295bb632ae65920983162 Author: Thomas Gleixner Date: Thu Oct 11 11:13:31 2007 +0200 i386: prepare shared lib/bitops.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 81f52936d34570f7db3f09bf5e01339b640438ef Author: Thomas Gleixner Date: Thu Oct 11 11:13:30 2007 +0200 i386: prepare shared lib/usercopy.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8b7fd47bdf84086914180b88a41d2f7c1ada5917 Author: Thomas Gleixner Date: Thu Oct 11 11:13:29 2007 +0200 i386: prepare shared lib/getuser.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e585d9617a4c2c8f4d1d19def80158bca2853be8 Author: Thomas Gleixner Date: Thu Oct 11 11:13:27 2007 +0200 i386: prepare shared lib/mmx.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1bbad2b6f10e1f1a171edae545ea2f84dca8c2da Author: Thomas Gleixner Date: Thu Oct 11 11:13:26 2007 +0200 i386: prepare shared lib/memcpy.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bb3871daf6d95101220969dc2634456cf2c503da Author: Thomas Gleixner Date: Thu Oct 11 11:13:24 2007 +0200 i386: prepare shared lib/semaphore.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 282317dc1570c392d1593869ded36baeee8f1d54 Author: Thomas Gleixner Date: Thu Oct 11 11:13:23 2007 +0200 i386: prepare shared lib/string.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2be2056cee405f3e3ca07e197ecd803e81cf5cb6 Author: Thomas Gleixner Date: Thu Oct 11 11:13:21 2007 +0200 i386: prepare shared lib/strstr.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 31834147ef934140c9d41afe130ac8606c2d7a81 Author: Thomas Gleixner Date: Thu Oct 11 11:13:20 2007 +0200 i386: prepare shared lib/checksum.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 96c4d6e71d27a2de591d185aa897d2d215f8588e Author: Thomas Gleixner Date: Thu Oct 11 11:13:19 2007 +0200 i386: prepare shared kernel/acpi/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 84629d8d3695cab7177e9a04ccc212727280bdd8 Author: Thomas Gleixner Date: Thu Oct 11 11:13:18 2007 +0200 i386: prepare shared kernel/acpi/earlyquirk.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bf79503a14c2d7c8b27dec60dae60af69c509a77 Author: Thomas Gleixner Date: Thu Oct 11 11:13:17 2007 +0200 i386: prepare shared kernel/acpi/sleep.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 193aa5d7efc827f1c4edc6ecaf3b4596e720f82f Author: Thomas Gleixner Date: Thu Oct 11 11:13:15 2007 +0200 i386: prepare shared kernel/acpi/wakeup.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e1589cd4cba22e374b54f49385703fc766a11e7f Author: Thomas Gleixner Date: Thu Oct 11 11:13:14 2007 +0200 i386: prepare shared kernel/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 565b56cc9929fd4e682850df960f0766c8363383 Author: Thomas Gleixner Date: Thu Oct 11 11:13:13 2007 +0200 i386: prepare shared kernel/vsyscall-note.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fcaf15d788dc0c8354dbcf449e260cb303120b75 Author: Thomas Gleixner Date: Thu Oct 11 11:13:12 2007 +0200 i386: prepare shared kernel/machine_kexec.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit deb8677148fef3aea11edd4e980f6eb9c564f3cd Author: Thomas Gleixner Date: Thu Oct 11 11:13:10 2007 +0200 i386: prepare shared kernel/head.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 76ea2ec68b54acc13ee1bfbb9a4e3aad370a374f Author: Thomas Gleixner Date: Thu Oct 11 11:13:09 2007 +0200 i386: prepare shared kernel/tsc.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 668a3bf76e56f019fee46210531f94cf6b418bbd Author: Thomas Gleixner Date: Thu Oct 11 11:13:07 2007 +0200 i386: prepare shared kernel/entry.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 930eed490ca02aaad6aa1bd10614a2b70cf621c6 Author: Thomas Gleixner Date: Thu Oct 11 11:13:06 2007 +0200 i386: prepare shared kernel/kprobes.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b4f127b931e66aeb4740d2cff36bc2e893af427e Author: Thomas Gleixner Date: Thu Oct 11 11:13:05 2007 +0200 i386: prepare shared kernel/process.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e012a7b6000a955f1d706cab288e938207c74ba7 Author: Thomas Gleixner Date: Thu Oct 11 11:13:03 2007 +0200 i386: prepare shared kernel/vsyscall-sigreturn.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ddf19584021f3c5774823278d42ee3f3124b650 Author: Thomas Gleixner Date: Thu Oct 11 11:13:02 2007 +0200 i386: prepare shared kernel/init_task.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0c67e102ea427341ca51e0943eb3c5a911d05301 Author: Thomas Gleixner Date: Thu Oct 11 11:13:00 2007 +0200 i386: prepare shared kernel/ldt.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 26ab6533a683e92129cfa5f2365924d007c119f3 Author: Thomas Gleixner Date: Thu Oct 11 11:12:59 2007 +0200 i386: prepare shared kernel/crash_dump.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c94905c5c184686bffde7d0c23cadb64dfce17af Author: Thomas Gleixner Date: Thu Oct 11 11:12:57 2007 +0200 i386: prepare shared kernel/reboot.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 826c0e9e6ced6c1bb2d3f067ddff93d706b86446 Author: Thomas Gleixner Date: Thu Oct 11 11:12:56 2007 +0200 i386: prepare shared kernel/trampoline.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b352b7fe2271c48600a71f50546b8a3567a0e7fe Author: Thomas Gleixner Date: Thu Oct 11 11:12:54 2007 +0200 i386: prepare shared kernel/irq.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8260dc37916c12b36e9732a8fa5bfa8c5fa8f0c4 Author: Thomas Gleixner Date: Thu Oct 11 11:12:53 2007 +0200 i386: prepare shared kernel/ptrace.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a0d557e2c28623c58e645c29f309a823edd7a1bf Author: Thomas Gleixner Date: Thu Oct 11 11:12:52 2007 +0200 i386: prepare shared kernel/apm.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bb2c787b41d0cffd372865b474903f7b3cfcdd7e Author: Thomas Gleixner Date: Thu Oct 11 11:12:50 2007 +0200 i386: prepare shared kernel/scx200.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f5a08b90f0089604be7a03c569ad8a44085bc363 Author: Thomas Gleixner Date: Thu Oct 11 11:12:49 2007 +0200 i386: prepare shared kernel/time.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ee8b55e53c106e6325e1f8a36d7274da43546255 Author: Thomas Gleixner Date: Thu Oct 11 11:12:47 2007 +0200 i386: prepare shared kernel/mpparse.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 56cc623cd7e9a36ae57fbf43f85adc11cff13042 Author: Thomas Gleixner Date: Thu Oct 11 11:12:46 2007 +0200 i386: prepare shared kernel/sigframe.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5bdef8fd610b8b07cf58ad2139f1f76bf127ad5d Author: Thomas Gleixner Date: Thu Oct 11 11:12:44 2007 +0200 i386: prepare shared kernel/vsyscall-sysenter.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 128ffcdab2e74292ead956f257e10d288a215e06 Author: Thomas Gleixner Date: Thu Oct 11 11:12:43 2007 +0200 i386: prepare shared kernel/doublefault.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f14ff3c8f151ac0ed487df18be01b0b32d70dd5e Author: Thomas Gleixner Date: Thu Oct 11 11:12:41 2007 +0200 i386: prepare shared kernel/i386_ksyms.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aeb369d26ecfdde242f29d16c41bed562410e392 Author: Thomas Gleixner Date: Thu Oct 11 11:12:40 2007 +0200 i386: prepare shared kernel/mca.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4f09b00fce5ba7bc00425f91860e81571472fbe8 Author: Thomas Gleixner Date: Thu Oct 11 11:12:39 2007 +0200 i386: prepare shared kernel/smpcommon.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 30271a74772402764997e84cc5f6cab57d36418d Author: Thomas Gleixner Date: Thu Oct 11 11:12:37 2007 +0200 i386: prepare shared kernel/numaq.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eea21b3055b76705a718b6864152d8ec85cbe942 Author: Thomas Gleixner Date: Thu Oct 11 11:12:36 2007 +0200 i386: prepare shared kernel/i387.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 24d8d25f1563f25c365cc6895bfc88af0b90ee40 Author: Thomas Gleixner Date: Thu Oct 11 11:12:34 2007 +0200 i386: prepare shared kernel/reboot_fixups.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2512e7c5c1851951ba4a625b84b4400bf6150625 Author: Thomas Gleixner Date: Thu Oct 11 11:12:33 2007 +0200 i386: prepare shared kernel/signal.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a584dfcc686c5ed89a234f2166ddaf73ec22f31a Author: Thomas Gleixner Date: Thu Oct 11 11:12:31 2007 +0200 i386: prepare shared kernel/summit.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 24f5b95bb91a6edac5dfdc7ddcbd6cabe0b30430 Author: Thomas Gleixner Date: Thu Oct 11 11:12:30 2007 +0200 i386: prepare shared kernel/vsyscall-int80.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d4c3a41e9a1f72bb995a6fb89ad028eda9a14c3d Author: Thomas Gleixner Date: Thu Oct 11 11:12:29 2007 +0200 i386: prepare shared kernel/ioport.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 549c64ac41fd37236543143a4e92699958a3972e Author: Thomas Gleixner Date: Thu Oct 11 11:12:27 2007 +0200 i386: prepare shared kernel/setup.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 016f8118b4f333cf88237918245be94788f0c51a Author: Thomas Gleixner Date: Thu Oct 11 11:12:26 2007 +0200 i386: prepare shared kernel/geode.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0273be2dcee34d3b955348cebef92cd796f06717 Author: Thomas Gleixner Date: Thu Oct 11 11:12:24 2007 +0200 i386: prepare shared kernel/smpboot.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5d43542f0c223e3643d88adb05ed466e6f0c8337 Author: Thomas Gleixner Date: Thu Oct 11 11:12:23 2007 +0200 i386: prepare shared kernel/e820.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a6424facfa0fceb57982df3a6d7e6166c94c22be Author: Thomas Gleixner Date: Thu Oct 11 11:12:21 2007 +0200 i386: prepare shared kernel/sysenter.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ae47fd49c73b7f4875bd1bf06f02f4209d5d2470 Author: Thomas Gleixner Date: Thu Oct 11 11:12:20 2007 +0200 i386: prepare shared kernel/hpet.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 77399ad90a8bd05f4b16da2ee398062d89f1719c Author: Thomas Gleixner Date: Thu Oct 11 11:12:19 2007 +0200 i386: prepare shared kernel/nmi.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 45da5aa2352153c7523dd42bb54e9378995b2194 Author: Thomas Gleixner Date: Thu Oct 11 11:12:17 2007 +0200 i386: prepare shared kernel/sys_i386.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0cc369a273ac6bacee9614b643de1fa283967a68 Author: Thomas Gleixner Date: Thu Oct 11 11:12:16 2007 +0200 i386: prepare shared kernel/apic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b9fe30ac5cdfc4337a672a498a4ba4e8d5e18728 Author: Thomas Gleixner Date: Thu Oct 11 11:12:14 2007 +0200 i386: prepare shared kernel/paravirt.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cde82b404831aecccf2a1828b2dc643e0ac0e7ce Author: Thomas Gleixner Date: Thu Oct 11 11:12:13 2007 +0200 i386: prepare shared kernel/vsyscall.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a60b778b5a813c6b3663db9244f5a886f0f91027 Author: Thomas Gleixner Date: Thu Oct 11 11:12:11 2007 +0200 i386: prepare shared kernel/vmlinux.lds.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit caadc5e249a19596b1c8400bf8e71320e4f0a14f Author: Thomas Gleixner Date: Thu Oct 11 11:12:11 2007 +0200 i386: prepare shared kernel/module.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f9a4ddc72107a30a2999d717479efd93689a54bb Author: Thomas Gleixner Date: Thu Oct 11 11:12:09 2007 +0200 i386: prepare shared kernel/efi.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8d0d37cfb8039939f51dd2a1da98aff3b50a4e84 Author: Thomas Gleixner Date: Thu Oct 11 11:12:08 2007 +0200 i386: prepare shared kernel/asm-offsets.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 08eafb9b2808d8684e55c204609513e924e2da3c Author: Thomas Gleixner Date: Thu Oct 11 11:12:07 2007 +0200 i386: prepare shared kernel/crash.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f797f57a60514eea6fc03644c14e80691dd25727 Author: Thomas Gleixner Date: Thu Oct 11 11:12:06 2007 +0200 i386: prepare shared kernel/efi_stub.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7338d4357bb2c8f20e400432e1fe04a22cb868ad Author: Thomas Gleixner Date: Thu Oct 11 11:12:05 2007 +0200 i386: prepare shared kernel/vm86.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5924be937acbd1b11adb7be9b9bfab7ceda49050 Author: Thomas Gleixner Date: Thu Oct 11 11:12:03 2007 +0200 i386: prepare shared kernel/smp.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2b91e94a6b59b63175440795b25afcd4cbfbe5e5 Author: Thomas Gleixner Date: Thu Oct 11 11:12:02 2007 +0200 i386: prepare shared kernel/vsyscall.lds.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 541054d935a1ec89916977cbf0d16ddb71b3ff5c Author: Thomas Gleixner Date: Thu Oct 11 11:12:00 2007 +0200 i386: prepare shared kernel/syscall_table.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5250d969f281b9f1ca581245a8797a5b7055c959 Author: Thomas Gleixner Date: Thu Oct 11 11:11:59 2007 +0200 i386: prepare shared kernel/relocate_kernel.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 185bfbf6fac3e5bf8cd19c84aa520438a7d70022 Author: Thomas Gleixner Date: Thu Oct 11 11:11:57 2007 +0200 i386: prepare shared kernel/vmi.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b4ab0cfd7df6e74283ce6eae8d1dd6d63e28bcee Author: Thomas Gleixner Date: Thu Oct 11 11:11:56 2007 +0200 i386: prepare shared kernel/i8259.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit de1afdd27e8d78cb53f9886202176abe3f3f950b Author: Thomas Gleixner Date: Thu Oct 11 11:11:54 2007 +0200 i386: prepare shared kernel/pci-dma.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit dd11bb664ca533825bf9454714a9635268321882 Author: Thomas Gleixner Date: Thu Oct 11 11:11:53 2007 +0200 i386: prepare shared kernel/vmiclock.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6000e8231e177c43dac15e09a310598031631b5c Author: Thomas Gleixner Date: Thu Oct 11 11:11:52 2007 +0200 i386: prepare shared kernel/srat.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d07ec74041a48f2ce47aa254e716e1e2c17a1191 Author: Thomas Gleixner Date: Thu Oct 11 11:11:50 2007 +0200 i386: prepare shared kernel/i8253.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6513b15625b19abf8397a1a7099a61c453783e01 Author: Thomas Gleixner Date: Thu Oct 11 11:11:49 2007 +0200 i386: prepare shared kernel/io_apic.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 311d64ab6dab57a4e8b012aa0da0240cf1c167e4 Author: Thomas Gleixner Date: Thu Oct 11 11:11:47 2007 +0200 i386: prepare shared kernel/traps.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b673187cba8a5bcd28455b8540d8542df1d85d9b Author: Thomas Gleixner Date: Thu Oct 11 11:11:46 2007 +0200 i386: prepare shared crypto/Makefile Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e980b6d9dee73e879e9c4731d0ef8a3c9d44e6ed Author: Thomas Gleixner Date: Thu Oct 11 11:11:45 2007 +0200 i386: prepare shared crypto/aes.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fff7c9a4f6689243db004b8f6d8d4ba696796f81 Author: Thomas Gleixner Date: Thu Oct 11 11:11:44 2007 +0200 i386: prepare shared crypto/twofish-i586-asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 018977f6e7f11b08a5928641454f4c43a9b1ca43 Author: Thomas Gleixner Date: Thu Oct 11 11:11:42 2007 +0200 i386: prepare shared crypto/aes-i586-asm.S Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6a273b2b46f9e57bd0bc1f4b905e28d2f947588d Author: Thomas Gleixner Date: Thu Oct 11 11:11:41 2007 +0200 i386: prepare shared crypto/twofish.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c339dd68c53ad3e0b94081c771e70132512d5377 Author: Thomas Gleixner Date: Thu Oct 11 11:11:39 2007 +0200 x86_64: remove unused header file: Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b7d331281488193621e255f47773e42f406b939d Author: Thomas Gleixner Date: Thu Oct 11 11:11:39 2007 +0200 i386: remove module.h include from termios.h Signed-off-by: Thomas Gleixner commit 2eb4c95094d927f2eb094f720222cc5a9cc22fd3 Author: Thomas Gleixner Date: Thu Oct 11 11:11:38 2007 +0200 Kbuild: prepare scope and tags for arch/x86 Preparatory patch for the source merge of arch/i386 and arch/x86_64 into arch/x86. Make scope and tags aware of SRCARCH Signed-off-by: Thomas Gleixner commit 6752ed90da032af72f2f1fa23d1abf0889b56db0 Author: Thomas Gleixner Date: Thu Oct 11 11:11:36 2007 +0200 Kbuild: allow arch/xxx to use a different source path Preparatory patch for the source merge of arch/i386 and arch/x86_64 into arch/x86. This allows to keep the original arch directories as stubs for the main Makefiles, Kconfigs et. al during the transition phase while having the code in the new arch/x86 directory. Signed-off-by: Thomas Gleixner commit d7394fe57adbbd030c5a56f5f4579fe0478cdb9b Author: Thomas Gleixner Date: Thu Oct 11 11:11:35 2007 +0200 i386: use full path for mach-xxx make rules To simplify the scripted move of the mach-xxx directories, change the makerules to the full arch/.... path. Signed-off-by: Thomas Gleixner commit f4b927a242a9d770947dd651d52f5f325a87a2d3 Author: Thomas Gleixner Date: Thu Oct 11 11:11:33 2007 +0200 x86_64: simplify cpufreq build Instead of copying the i386 Makefile and handling path substitutions just use the i386 cpufreq Makefile. Signed-off-by: Thomas Gleixner commit 04c17170abe6da6679ab99b4b4a9730ba34ec30a Author: Thomas Gleixner Date: Thu Oct 11 11:11:32 2007 +0200 x86_64: simplify oprofile build Instead of copying the i386 Makefile and handling path substitutions just use the i386 oprofile Makefile. Signed-off-by: Thomas Gleixner commit 46b45b10f1425d02819b525e3805ddacd9ad4f29 Author: Stephen Rothwell Date: Tue Oct 9 17:03:57 2007 +1000 [POWERPC] Align the sys_call_table Our _GLOBAL macro does a ".align 2" so the alignment is fine for 32 bit, but on 64 bit it is possible for it to end up only 4 byte aligned. I don't know if it matters, but it can't hurt to 8 byte align it. It also means that when we build with --emit_relocs, none of our 64 bit relocations are to misaligned places. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 28f7b0360f46eeb9eeee63d03bb5484918a54837 Author: David S. Miller Date: Wed Oct 10 21:32:39 2007 -0700 [NETLINK]: fib_frontend build fixes 1) fibnl needs to be declared outside of config ifdefs, and also should not be explicitly initialized to NULL 2) nl_fib_input() args are wrong for netlink_kernel_create() input method Signed-off-by: David S. Miller commit 31910575a9de61e78065e93846e8e7a4894a18bf Author: Pierre Ynard Date: Wed Oct 10 21:22:05 2007 -0700 [IPv6]: Export userland ND options through netlink (RDNSS support) As discussed before, this patch provides userland with a way to access relevant options in Router Advertisements, after they are processed and validated by the kernel. Extra options are processed in a generic way; this patch only exports RDNSS options described in RFC5006, but support to control which options are exported could be easily added. A new rtnetlink message type is defined, to transport Neighbor Discovery options, along with optional context information. At the moment only the address of the router sending an RDNSS option is included, but additional attributes may be later defined, if needed by new use cases. Signed-off-by: Pierre Ynard Signed-off-by: David S. Miller commit 092e9d93b3728d484a4e73df9852dc4002cf9923 Author: Ingo Molnar Date: Wed Oct 10 21:19:28 2007 -0700 [9P]: build fix with !CONFIG_SYSCTL found via make randconfig build testing: net/built-in.o: In function `init_p9': mod.c:(.init.text+0x3b39): undefined reference to `p9_sysctl_register' net/built-in.o: In function `exit_p9': mod.c:(.exit.text+0x36b): undefined reference to `p9_sysctl_unregister' Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 9ef4429b31b86d486b56b6c179fe52b5c7152f13 Author: Benjamin Thery Date: Wed Oct 10 21:18:17 2007 -0700 [NET]: Fix dev_put() and dev_hold() comments Trivial fix: Swap comments for dev_put() and dev_hold() to get them at the right place. Typo introduced by 4fa57c9ea9f36f9ca852f3a88ca5d2f1aebbc960. Signed-of-by: Benjamin Thery Signed-off-by: David S. Miller commit cd40b7d3983c708aabe3d3008ec64ffce56d33b0 Author: Denis V. Lunev Date: Wed Oct 10 21:15:29 2007 -0700 [NET]: make netlink user -> kernel interface synchronious This patch make processing netlink user -> kernel messages synchronious. This change was inspired by the talk with Alexey Kuznetsov about current netlink messages processing. He says that he was badly wrong when introduced asynchronious user -> kernel communication. The call netlink_unicast is the only path to send message to the kernel netlink socket. But, unfortunately, it is also used to send data to the user. Before this change the user message has been attached to the socket queue and sk->sk_data_ready was called. The process has been blocked until all pending messages were processed. The bad thing is that this processing may occur in the arbitrary process context. This patch changes nlk->data_ready callback to get 1 skb and force packet processing right in the netlink_unicast. Kernel -> user path in netlink_unicast remains untouched. EINTR processing for in netlink_run_queue was changed. It forces rtnl_lock drop, but the process remains in the cycle until the message will be fully processed. So, there is no need to use this kludges now. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit aed815601f3f95281ab3a01f7e2cbe1bd54285a0 Author: Denis V. Lunev Date: Wed Oct 10 21:14:32 2007 -0700 [NET]: unify netlink kernel socket recognition There are currently two ways to determine whether the netlink socket is a kernel one or a user one. This patch creates a single inline call for this purpose and unifies all the calls in the af_netlink.c No similar calls are found outside af_netlink.c. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 7ee015e0fa3c856416e9477aac4b850ec6f09017 Author: Denis V. Lunev Date: Wed Oct 10 21:14:03 2007 -0700 [NET]: cleanup 3rd argument in netlink_sendskb netlink_sendskb does not use third argument. Clean it and save a couple of bytes. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b Author: Denis V. Lunev Date: Wed Oct 10 21:13:32 2007 -0700 [NET]: Make netlink processing routines semi-synchronious (inspired by rtnl) v2 The code in netfilter/nfnetlink.c and in ./net/netlink/genetlink.c looks like outdated copy/paste from rtnetlink.c. Push them into sync with the original. Changes from v1: - deleted comment in nfnetlink_rcv_msg by request of Patrick McHardy Signed-off-by: Denis V. Lunev Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 1536cc0d55a2820b71daf912060fe43ec15630c2 Author: Denis V. Lunev Date: Wed Oct 10 21:12:58 2007 -0700 [NET]: rtnl_unlock cleanups There is no need to process outstanding netlink user->kernel packets during rtnl_unlock now. There is no rtnl_trylock in the rtnetlink_rcv anymore. Normal code path is the following: netlink_sendmsg netlink_unicast netlink_sendskb skb_queue_tail netlink_data_ready rtnetlink_rcv mutex_lock(&rtnl_mutex); netlink_run_queue(sk, qlen, &rtnetlink_rcv_msg); mutex_unlock(&rtnl_mutex); So, it is possible, that packets can be present in the rtnl->sk_receive_queue during rtnl_unlock, but there is no need to process them at that moment as rtnetlink_rcv for that packet is pending. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit d1ec3b772233826bf156284170632563790dbabf Author: Pierre Ynard Date: Wed Oct 10 21:09:48 2007 -0700 [NETLINK]: Fix typos in comments in netlink.h This patch fixes a few typos in comments in include/net/netlink.h Signed-off-by: Pierre Ynard Signed-off-by: David S. Miller commit fa8705b00aeca19d91a1437b8a5cf865999b28f6 Author: Tony Battersby Date: Wed Oct 10 21:09:04 2007 -0700 [NET]: sanitize kernel_accept() error path If kernel_accept() returns an error, it may pass back a pointer to freed memory (which the caller should ignore). Make it pass back NULL instead for better safety. Signed-off-by: Tony Battersby Signed-off-by: David S. Miller commit 414c66e00e9fb4572e38bd14e6cc570eae8c5a61 Author: Matt Carlson Date: Wed Oct 10 18:03:56 2007 -0700 [TG3]: Update version to 3.83 Update to version 3.83. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0527ba358aa7594731e627842d493ae7f009dd57 Author: Matt Carlson Date: Wed Oct 10 18:03:30 2007 -0700 [TG3]: WOL defaults This patch enables WOL by default if out-of-box WOL is enabled in the NVRAM. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9936bcf68a7e4d33f080bba9ee03d156c75c91ee Author: Matt Carlson Date: Wed Oct 10 18:03:07 2007 -0700 [TG3]: Add 5761 support This patch adds rest of the miscellaneous code required to support the 5761. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0d3031d9e674cddd4c09731123ad252294cdf15f Author: Matt Carlson Date: Wed Oct 10 18:02:43 2007 -0700 [TG3]: Add 5761 APE support This patch adds support for the new APE block, present in 5761 chips. APE stands for Application Processing Engine. The primary function of the APE is to process manageability traffic, such as ASF. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6b91fa02796292c322b20572188c74c1ef5bb02b Author: Matt Carlson Date: Wed Oct 10 18:01:09 2007 -0700 [TG3]: Add new 5761 NVRAM decode routines This patch adds a new 5761-specific NVRAM strapping decode routine. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 227b60f5102cda4e4ab792b526a59c8cb20cd9f8 Author: Stephen Hemminger Date: Wed Oct 10 17:30:46 2007 -0700 [INET]: local port range robustness Expansion of original idea from Denis V. Lunev Add robustness and locking to the local_port_range sysctl. 1. Enforce that low < high when setting. 2. Use seqlock to ensure atomic update. The locking might seem like overkill, but there are cases where sysadmin might want to change value in the middle of a DoS attack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 06393009000779b00a558fd2f280882cc7dc2008 Author: Stephen Hemminger Date: Wed Oct 10 17:30:18 2007 -0700 [SCTP]: port randomization Add port randomization rather than a simple fixed rover for use with SCTP. This makes it act similar to TCP, UDP, DCCP when allocating ports. No longer need port_alloc_lock as well (suggestion by Brian Haley). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3c0cfc135829b98f7a4894938652f9ef78e24237 Author: Patrick McHardy Date: Wed Oct 10 16:32:41 2007 -0700 [NET_SCHED]: Show timer resolution instead of clock resolution in /proc/net/psched The fourth parameter of /proc/net/psched is supposed to show the timer resultion and is used by HTB userspace to calculate the necessary burst rate. Currently we show the clock resolution, which results in a too low burst rate when the two differ. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 32d1316b91424423d7b44944f18cdaca268f3db2 Author: Michael Chan Date: Wed Oct 10 16:17:11 2007 -0700 [BNX2]: Update version to 1.6.7. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 846f5c622fe033520c775cc2c40c06f3e2adea85 Author: Michael Chan Date: Wed Oct 10 16:16:51 2007 -0700 [BNX2]: Fix default WoL setting. Change the default WoL setting to match the NVRAM's setting. It always defaulted to WoL disabled before and caused a lot of confusion for users. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 489310a440e606512b1fd79d8562d1da6b715448 Author: Michael Chan Date: Wed Oct 10 16:16:31 2007 -0700 [BNX2]: Fix remote PHY media detection problems. The remote PHY media type and link status can change between ->probe() and ->open(). For correct operation, we need to get the new status again during ->open(). The ethtool link test and loopback test are also fixed to work with remote PHY. PHY loopback is simply skipped when remote PHY is present. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 631a6698d09e57cadc069914d613899609a0ae83 Author: Herbert Xu Date: Wed Oct 10 15:46:21 2007 -0700 [IPSEC]: Move IP protocol setting from transforms into xfrm4_input.c This patch makes the IPv4 x->type->input functions return the next protocol instead of setting it directly. This is identical to how we do things in IPv6 and will help us merge common code on the input path. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ceb1eec8291175686d0208e66595ff83bc0624e2 Author: Herbert Xu Date: Wed Oct 10 15:45:52 2007 -0700 [IPSEC]: Move IP length/checksum setting out of transforms This patch moves the setting of the IP length and checksum fields out of the transforms and into the xfrmX_output functions. This would help future efforts in merging the transforms themselves. It also adds an optimisation to ipcomp due to the fact that the transport offset is guaranteed to be zero. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 87bdc48d304191313203df9b98d783e1ab5a55ab Author: Herbert Xu Date: Wed Oct 10 15:45:25 2007 -0700 [IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr This patch removes the duplicate ipv6_{auth,esp,comp}_hdr structures since they're identical to the IPv4 versions. Duplicating them would only create problems for ourselves later when we need to add things like extended sequence numbers. I've also added transport header type conversion headers for these types which are now used by the transforms. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 37fedd3aab6517daec628764c5d66dd8761fbe5f Author: Herbert Xu Date: Wed Oct 10 15:44:44 2007 -0700 [IPSEC]: Use IPv6 calling convention as the convention for x->mode->output The IPv6 calling convention for x->mode->output is more general and could help an eventual protocol-generic x->type->output implementation. This patch adopts it for IPv4 as well and modifies the IPv4 type output functions accordingly. It also rewrites the IPv6 mac/transport header calculation to be based off the network header where practical. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7b277b1a5fb147cb828e5d8b9780cee60f31a9bf Author: Herbert Xu Date: Wed Oct 10 15:44:06 2007 -0700 [IPSEC]: Set skb->data to payload in x->mode->output This patch changes the calling convention so that on entry from x->mode->output and before entry into x->type->output skb->data will point to the payload instead of the IP header. This is essentially a redistribution of skb_push/skb_pull calls with the aim of minimising them on the common path of tunnel + ESP. It'll also let us use the same calling convention between IPv4 and IPv6 with the next patch. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bee0b40c0621396326d1c17b81833f59118a2d80 Author: Herbert Xu Date: Wed Oct 10 15:42:23 2007 -0700 [IPSEC] beet: Fix extension header support on output The beet output function completely kills any extension headers by replacing them with the IPv6 header. This is because it essentially ignores the result of ip6_find_1stfragopt by simply acting as if there aren't any extension headers. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8bd170750400bfa5e14c3dd2e2d0f305e1ab0e57 Author: Herbert Xu Date: Wed Oct 10 15:41:41 2007 -0700 [IPSEC] esp: Remove NAT-T checksum invalidation for BEET I pointed this out back when this patch was first proposed but it looks like it got lost along the way. The checksum only needs to be ignored for NAT-T in transport mode where we lose the original inner addresses due to NAT. With BEET the inner addresses will be intact so the checksum remains valid. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f24e3d658cf382f11a7aa7887fa99147bdc6fe0b Author: Mitsuru Chinen Date: Wed Oct 10 02:53:43 2007 -0700 [IPV6]: Defer IPv6 device initialization until a valid qdisc is specified To judge the timing for DAD, netif_carrier_ok() is used. However, there is a possibility that dev->qdisc stays noop_qdisc even if netif_carrier_ok() returns true. In that case, DAD NS is not sent out. We need to defer the IPv6 device initialization until a valid qdisc is specified. Signed-off-by: Mitsuru Chinen Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 9b7726523523472ead660b1d45df29dcaf6cc5c0 Author: Pavel Emelyanov Date: Wed Oct 10 02:49:09 2007 -0700 [NET]: Remove double dev->flags checking when calling dev_close() The unregister_netdevice() and dev_change_net_namespace() both check for dev->flags to be IFF_UP before calling the dev_close(), but the dev_close() checks for IFF_UP itself, so remove those unneeded checks. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1c1e87edb9aa38b9e1ae807a6d88fcfd350a55c0 Author: Ilpo Järvinen Date: Wed Oct 10 02:45:32 2007 -0700 [TCP]: Separate lost_retrans loop into own function Follows own function for each task principle, this is really somewhat separate task being done in sacktag. Also reduces indentation. In addition, added ack_seq local var to break some long lines & fixed coding style things. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5265eeb2b036835021591173ac64e624baaff55c Author: Jan Glauber Date: Tue Oct 9 22:43:13 2007 +0800 [CRYPTO] sha: Add header file for SHA definitions There are currently several SHA implementations that all define their own initialization vectors and size values. Since this values are idential move them to a header file under include/crypto. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit ad5d27899fdbe7a66e57fdf1af883dbd7ff88dac Author: Sebastian Siewior Date: Mon Oct 8 11:45:10 2007 +0800 [CRYPTO] sha: Load the SHA[1|256] module by an alias Loading the crypto algorithm by the alias instead of by module directly has the advantage that all possible implementations of this algorithm are loaded automatically and the crypto API can choose the best one depending on its priority. Additionally it ensures that the generic implementation as well as the HW driver (if available) is loaded in case the HW driver needs the generic version as fallback in corner cases. Also remove the probe for sha1 in padlock's init code. Quote from Herbert: The probe is actually pointless since we can always probe when the algorithm is actually used which does not lead to dead-locks like this. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit f8246af005d56b73f4f04304fc5b6fd9878af4ef Author: Sebastian Siewior Date: Fri Oct 5 16:52:01 2007 +0800 [CRYPTO] aes: Rename aes to aes-generic Loading the crypto algorithm by the alias instead of by module directly has the advantage that all possible implementations of this algorithm are loaded automatically and the crypto API can choose the best one depending on its priority. Additionally it ensures that the generic implementation as well as the HW driver (if available) is loaded in case the HW driver needs the generic version as fallback in corner cases. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit c5a511f1cd6f90a98ad11dd97e2313c7c787deb2 Author: Sebastian Siewior Date: Fri Oct 5 16:42:03 2007 +0800 [CRYPTO] des: Rename des to des-generic Loading the crypto algorithm by the alias instead of by module directly has the advantage that all possible implementations of this algorithm are loaded automatically and the crypto API can choose the best one depending on its priority. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 7607bd8ff03b8af5af887931318cb2bb20361856 Author: Herbert Xu Date: Thu Oct 4 15:24:05 2007 +0800 [CRYPTO] blkcipher: Added blkcipher_walk_virt_block This patch adds the helper blkcipher_walk_virt_block which is similar to blkcipher_walk_virt but uses a supplied block size instead of the block size of the block cipher. This is useful for CTR where the block size is 1 but we still want to walk by the block size of the underlying cipher. Signed-off-by: Herbert Xu commit 2614de1b9af5a9e49cda64b394e1348159565bd5 Author: Herbert Xu Date: Thu Oct 4 14:49:00 2007 +0800 [CRYPTO] blkcipher: Increase kmalloc amount to aligned block size Now that the block size is no longer a multiple of the alignment, we need to increase the kmalloc amount in blkcipher_next_slow to use the aligned block size. Signed-off-by: Herbert Xu commit d8058480b35dbc3d1e6085b3f13b80af27def09e Author: Herbert Xu Date: Tue Oct 2 22:27:29 2007 +0800 [CRYPTO] api: Explain the comparison on larval cra_name This patch adds a comment to explain why we compare the cra_driver_name of the algorithm being registered against the cra_name of a larval as opposed to the cra_driver_name of the larval. In fact larvals have only one name, cra_name which is the name that was requested by the user. The test here is simply trying to find out whether the algorithm being registered can or can not satisfy the larval. Signed-off-by: Herbert Xu commit 70613783fc0f6e37b442d79e8417f71a2b71ed93 Author: Herbert Xu Date: Sat Sep 29 21:24:23 2007 +0800 [CRYPTO] blkcipher: Remove alignment restriction on block size Previously we assumed for convenience that the block size is a multiple of the algorithm's required alignment. With the pending addition of CTR this will no longer be the case as the block size will be 1 due to it being a stream cipher. However, the alignment requirement will be that of the underlying implementation which will most likely be greater than 1. Signed-off-by: Herbert Xu commit e4c5c6c9b0d04a7dac19027260f7421305a34856 Author: Herbert Xu Date: Fri Sep 28 09:07:12 2007 +0800 [CRYPTO] authenc: Kill spaces in algorithm names We do not allow spaces in algorithm names or parameters. Thanks to Joy Latten for pointing this out. Signed-off-by: Herbert Xu commit 720a650f8ab3166d32fc5da64961e8d2158b9452 Author: Herbert Xu Date: Fri Sep 28 09:06:11 2007 +0800 [CRYPTO] cryptomgr: Fix parsing of recursive algorithms As Joy Latten points out, inner algorithm parameters will miss the closing bracket which will also cause the outer algorithm to terminate prematurely. This patch fixes that also kills the WARN_ON if the number of parameters exceed the maximum as that is a user error. Signed-off-by: Herbert Xu commit f19f5111c94053ba4931892f5c01c806de33942e Author: Rik Snel Date: Wed Sep 19 20:23:13 2007 +0800 [CRYPTO] xts: XTS blockcipher mode implementation without partial blocks XTS currently considered to be the successor of the LRW mode by the IEEE1619 workgroup. LRW was discarded, because it was not secure if the encyption key itself is encrypted with LRW. XTS does not have this problem. The implementation is pretty straightforward, a new function was added to gf128mul to handle GF(128) elements in ble format. Four testvectors from the specification http://grouper.ieee.org/groups/1619/email/pdf00086.pdf were added, and they verify on my system. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit 5aaff0c8f7dd3515c9f1ca57f86463f30779acc7 Author: Ingo Oeser Date: Wed Sep 19 19:11:41 2007 +0800 [CRYPTO] blkcipher: Use max() in blkcipher_get_spot() to state the intention Use max in blkcipher_get_spot() instead of open coding it. Signed-off-by: Ingo Oeser Signed-off-by: Herbert Xu commit 70dec235d8ac8cfb56ed2a3597e7d6c5b801f018 Author: Herbert Xu Date: Sat Sep 1 16:52:13 2007 +0800 [CRYPTO] api: Kill crypto_km_types When scatterwalk is built as a module digest.c was broken because it requires the crypto_km_types structure which is in scatterwalk. This patch removes the crypto_km_types structure by encoding the logic into crypto_kmap_type directly. In fact, this even saves a few bytes of code (not to mention the data structure itself) on i386 which is about the only place where it's needed. Signed-off-by: Herbert Xu commit 3c09f17c3d11f3e98928f55b600e6de22f58017a Author: Herbert Xu Date: Thu Aug 30 16:24:15 2007 +0800 [CRYPTO] aead: Add authenc This patch adds the authenc algorithm which constructs an AEAD algorithm from an asynchronous block cipher and a hash. The construction is done by concatenating the encrypted result from the cipher with the output from the hash, as is used by the IPsec ESP protocol. The authenc algorithm exists as a template with four parameters: authenc(auth, authsize, enc, enckeylen). The authentication algorithm, the authentication size (i.e., truncating the output of the authentication algorithm), the encryption algorithm, and the encryption key length. Both the size field and the key length field are in bytes. For example, AES-128 with SHA1-HMAC would be represented by authenc(hmac(sha1), 12, cbc(aes), 16) The key for the authenc algorithm is the concatenation of the keys for the authentication algorithm with the encryption algorithm. For the above example, if a key of length 36 bytes is given, then hmac(sha1) would receive the first 20 bytes while the last 16 would be given to cbc(aes). Signed-off-by: Herbert Xu commit b16c3a2e2c0307f5370b2b5e18bcbe1437b5f3d8 Author: Herbert Xu Date: Wed Aug 29 19:02:04 2007 +0800 [CRYPTO] api: Fixed crypto_*_reqsize return type This patch changes the return type of crypto_*_reqsize from int to unsigned int which matches what the underlying type is (and should be). Signed-off-by: Herbert Xu commit 5fa0fea27461f5ff7fad07687618db08272e9502 Author: Herbert Xu Date: Wed Aug 29 16:31:34 2007 +0800 [CRYPTO] scatterwalk: Add scatterwalk_map_and_copy This patch adds the function scatterwalk_map_and_copy which reads or writes a chunk of data from a scatterlist at a given offset. It will be used by authenc which would read/write the authentication data at the end of the cipher/plain text. Signed-off-by: Herbert Xu commit e962a653f3146330d99aefa5adadeaed60bc9bb5 Author: Herbert Xu Date: Wed Aug 29 16:06:15 2007 +0800 [CRYPTO] api: Move scatterwalk into algapi The scatterwalk code is only used by algorithms that can be built as a module. Therefore we can move it into algapi. Signed-off-by: Herbert Xu commit 2de98e75449fc1c43d2fbb857668ae62d4f5eece Author: Herbert Xu Date: Sun Aug 26 19:12:47 2007 +0800 [CRYPTO] ablkcipher: Remove queue pointer from common alg object Since not everyone needs a queue pointer and those who need it can always get it from the context anyway the queue pointer in the common alg object is redundant. Signed-off-by: Herbert Xu commit 791b4d5f73cbc16ee532ebac5bd82d51524d4f99 Author: Herbert Xu Date: Thu Aug 23 16:23:01 2007 +0800 [CRYPTO] api: Add missing headers for setkey_unaligned This patch ensures that kernel.h and slab.h are included for the setkey_unaligned function. It also breaks a couple of long lines. Signed-off-by: Herbert Xu commit 39e1ee011f42dbbcb0210c73ea728ae54cf63b06 Author: Herbert Xu Date: Wed Aug 29 19:27:26 2007 +0800 [CRYPTO] api: Add support for multiple template parameters This patch adds support for having multiple parameters to a template, separated by a comma. It also adds support for integer parameters in addition to the current algorithm parameter type. This will be used by the authenc template which will have four parameters: the authentication algorithm, the encryption algorithm, the authentication size and the encryption key length. Signed-off-by: Herbert Xu commit 1ae978208e2ee9ba1b01d309164bc5e590cd242d Author: Herbert Xu Date: Thu Aug 30 15:36:14 2007 +0800 [CRYPTO] api: Add aead crypto type This patch adds crypto_aead which is the interface for AEAD (Authenticated Encryption with Associated Data) algorithms. AEAD algorithms perform authentication and encryption in one step. Traditionally users (such as IPsec) would use two different crypto algorithms to perform these. With AEAD this comes down to one algorithm and one operation. Of course if traditional algorithms were used we'd still be doing two operations underneath. However, real AEAD algorithms may allow the underlying operations to be optimised as well. Signed-off-by: Herbert Xu commit e2ee95b8c69e542d6afef3f6f38ea598cc146ba7 Author: Hye-Shik Chang Date: Tue Aug 21 20:01:03 2007 +0800 [CRYPTO] seed: New cipher algorithm This patch adds support for the SEED cipher (RFC4269). This patch have been used in few VPN appliance vendors in Korea for several years. And it was verified by KISA, who developed the algorithm itself. As its importance in Korean banking industry, it would be great if linux incorporates the support. Signed-off-by: Hye-Shik Chang Signed-off-by: Herbert Xu commit aa379a6ab17ff5b06552c52360ce6d9f8c7c209a Author: Sebastian Siewior Date: Thu Aug 2 20:41:53 2007 +0800 [CRYPTO] api: Add crypto_ablkcipher_ctx_aligned This is function does the same thing for ablkcipher that is done for blkcipher by crypto_blkcipher_ctx_aligned(): it returns an aligned address of the private ctx. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 44db25ca127281036817f861593389d7cfe950f5 Author: Adrian Bunk Date: Tue Jul 17 20:33:16 2007 +0800 [CRYPTO] drivers/Kconfig: Remove "default m"s Hardware drivers shouldn't default to m. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit a349365e5e0e0590cf68957abd2ead1e5249fdef Author: Adrian Bunk Date: Tue Jul 17 20:31:34 2007 +0800 [CRYPTO] Kconfig: Remove "default m"s Other options requiring specific block cipher algorithms already have the appropriate select's. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit ec931035194709d0cde647d1c347bbf9634eec25 Author: Pavel Emelyanov Date: Wed Oct 10 02:31:07 2007 -0700 [SUNRPC]: Make the sunrpc use the seq_open_private() Just switch to the consolidated code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit a662d4cb50d3976d2c9c9bac34119d0036e31d21 Author: Pavel Emelyanov Date: Wed Oct 10 02:30:45 2007 -0700 [IRDA]: Make the IRDA use the seq_open_private() Just switch to the consolidated code Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 31164088d72e1420e53f742b6c0c06f7343551dc Author: Pavel Emelyanov Date: Wed Oct 10 02:30:23 2007 -0700 [DECNET]: Make decnet code use the seq_open_private() Just switch to the consolidated code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e2da59133880976586b2d9d81d798222ecafa566 Author: Pavel Emelyanov Date: Wed Oct 10 02:29:58 2007 -0700 [NETFILTER]: Make netfilter code use the seq_open_private Just switch to the consolidated calls. ipt_recent() has to initialize the private, so use the __seq_open_private() helper. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cf7732e4cc14b56d593ff53352673e1fd5e3ba52 Author: Pavel Emelyanov Date: Wed Oct 10 02:29:29 2007 -0700 [NET]: Make core networking code use seq_open_private This concerns the ipv4 and ipv6 code mostly, but also the netlink and unix sockets. The netlink code is an example of how to use the __seq_open_private() call - it saves the net namespace on this private. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 39699037a5c94d7cd1363dfe48a50c78c643fd9a Author: Pavel Emelyanov Date: Wed Oct 10 02:28:42 2007 -0700 [FS] seq_file: Introduce the seq_open_private() This function allocates the zeroed chunk of memory and call seq_open(). The __seq_open_private() helper returns the allocated memory to make it possible for the caller to initialize it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 59e90b2d22500f2e9cc635793562154abc8f4621 Author: Roland Dreier Date: Tue Oct 9 15:48:56 2007 -0700 ibm_emac: Convert to use napi_struct independent of struct net_device Commit da3dedd9 ("[NET]: Make NAPI polling independent of struct net_device objects.") changed the interface to NAPI polling. Fix up the ibm_newemac driver so that it works with this new interface. This is actually a nice cleanup because ibm_newemac is one of the drivers that wants to have multiple NAPI structures for a single net_device. Compile-tested only as I don't have a system that uses the ibm_newemac driver. This conversion the conversion for the ibm_emac driver that was tested on real PowerPC 440SPe hardware. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit 61ba5b3c14b4956493d1180e0a860e941108393e Author: Roland Dreier Date: Tue Oct 9 15:47:59 2007 -0700 ibm_new_emac: Nuke SET_MODULE_OWNER() use Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit bfe13f54f5028cff034e3b6247e9f433908f4f4f Author: Roland Dreier Date: Tue Oct 9 15:47:37 2007 -0700 ibm_emac: Convert to use napi_struct independent of struct net_device Commit da3dedd9 ("[NET]: Make NAPI polling independent of struct net_device objects.") changed the interface to NAPI polling. Fix up the ibm_emac driver so that it works with this new interface. This is actually a nice cleanup because ibm_emac is one of the drivers that wants to have multiple NAPI structures for a single net_device. Tested with the internal MAC of a PowerPC 440SPe SoC with an AMCC 'Yucca' evaluation board. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit 9153f66a5b8e63c61374df4e6a4cbd0056e45178 Author: Roland Dreier Date: Tue Oct 9 15:46:13 2007 -0700 IPoIB: Fix unused variable warning The conversion to use netdevice internal stats left an unused variable in ipoib_neigh_free(), since there's no longer any reason to get netdev_priv() in order to increment dropped packets. Delete the unused priv variable. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit f2cade13371f3ca80c5479c284e6455c681c8a0c Author: Mark Brown Date: Tue Oct 9 22:57:39 2007 +0100 natsemi: Use NATSEMI_TIMER_FREQ consistently The natsemi driver has a define NATSEMI_TIMER_FREQ which looks like it controls the normal frequency of the chip poll timer but in fact only takes effect for the first run of the timer. Adjust the value of the define to match that used by the timer and use the define consistently. Signed-off-by: Mark Brown Signed-off-by: Jeff Garzik commit 9265fabf0d4c3d0a52e169d4b9149d52fd91db69 Author: Stephen Hemminger Date: Mon Oct 8 16:22:29 2007 -0700 cxgb3 sparse warning fixes Fix warnings from sparse related to shadowed variables and routines that should be declared static. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 33a85aa1c915c2f114bdac9b6d1ec00cc0fbc485 Author: Stephen Hemminger Date: Mon Oct 8 16:19:10 2007 -0700 chelsio: sparse warning fixes (old cxgb2) Fix problems detected by sparse: 1. whole chunk of MAC code was for defined and never used 2. hook for running ext intr in workqueue wasn't being used Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3bf76b81608479a10077bd6b55972d40db782067 Author: Jan-Bernd Themann Date: Mon Oct 8 16:01:33 2007 +0200 ehea: use kernel event queue eHEA recovery and DLPAR functions are called seldomly. The eHEA workqueues are replaced by the kernel event queue. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit ddfce6bb43c6bf1c9956e7a65ce1b2e19a156bd2 Author: Stephen Hemminger Date: Fri Oct 5 17:19:47 2007 -0700 network drivers: sparse warning fixes Fix some of the easy warnings in network device drivers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 43b7c451a03fe5f615710e26e8e2a3dd70eaa5b1 Author: Stephen Hemminger Date: Fri Oct 5 12:39:21 2007 -0700 s2io: sparse warnings fix (rev2) Fix warnings from sparse checker about shadowed definition and improperly formatted ethtool_strings. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 309af40b5f4c2065c9a5f74a360ad3d3b0c9c9cd Author: Auke Kok Date: Fri Oct 5 15:22:02 2007 -0700 e1000e: restore flow control settings properly After a cable unplug the forced flow control settings were lost accidentally and the flow control settings fell back to the default EEPROM determined values. This breaks for people who want to run without fc enabled - after a cable reset the driver would refuse to run with fc disabled. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 4e6c709c5ab886be0ddbc96c4f96534e55920e68 Author: Auke Kok Date: Fri Oct 5 14:15:23 2007 -0700 e1000e: Simple optimizations in e1000_xmit_frame After an e1000 patch from Krishna Kumar . Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 6d1e3aa7bd47faacc08fdda8f58896bfd13ad90a Author: Krishna Kumar Date: Fri Oct 5 14:15:16 2007 -0700 e1000: Simple optimizations in e1000_xmit_frame Some simple optimizations in e1000_xmit_frame. Signed-off-by: Krishna Kumar Signed-off-by: Jeff Garzik commit e2f036da2f8f72894988670953a1141da785e4f5 Author: Mattias Nissler Date: Sun Oct 7 16:35:31 2007 +0200 [PATCH] mac80211: Defer setting of RX_FLAG_DECRYPTED. The decryption handlers will skip the frame if the RX_FLAG_DECRYPTED flag is set, so the early flag setting introduced by Johannes breaks decryption. To work around this, call the handlers first and then set the flag. Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville commit 0654ff055c6ce5642eed88ba22915b0e56666794 Author: John W. Linville Date: Thu Oct 4 14:04:40 2007 -0400 [PATCH] ieee80211_if_set_type: make check for master dev more explicit Problem description by Daniel Drake : "This sequence of events causes loss of connectivity: ifconfig eth7 down iwconfig eth7 mode monitor ifconfig eth7 up ifconfig eth7 down iwconfig eth7 mode managed At this point you are associated but TX does not work. This is because the eth7 hard_start_xmit is still ieee80211_monitor_start_xmit." The problem is caused by ieee80211_if_set_type checking for a non-zero hard_start_xmit pointer value in order to avoid changing that value for master devices. The fix is to make that check more explicitly linked to master devices rather than simply checking if the value has been previously set. CC: Daniel Drake Acked-by: Michael Wu Signed-off-by: John W. Linville commit 04799fae8ecb42b2c687fa85fe32ff79ea0e9dc9 Author: Holger Schurig Date: Tue Oct 9 15:04:14 2007 +0200 [PATCH] libertas: let get nick return what set nick has set Make the get-nickname wireless extension actually work. Before this patch, I could do "iwconfig eth1 nick BLAH" but "iwconfig eth1" would have still showed "MRVL-USB8388" to me. Hey, and that was wrong anyway, I'm on a CF card, not on USB :-) Signed-off-by: Holger Schurig Acked-By: Dan Williams Signed-off-by: John W. Linville commit cc32613792b9789cebb40240a56bd4a7675b86fc Author: Holger Schurig Date: Tue Oct 9 14:30:10 2007 +0200 [PATCH] libertas: remove one superfluous include This makes scripts/checkincludes.pl happy. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e56188ac4163cb276b7650949c1e8e20fb2f9c73 Author: Holger Schurig Date: Tue Oct 9 14:15:19 2007 +0200 [PATCH] libertas: clean up scan debug messages * make scan debug output cleaner * change some LBS_DEB_ASSOC messages to LBS_DEB_SCAN, which is more correct * move helper functions together * print function return value in the tracing code at one central location Signed-off-by: Holger Schurig Acked-By: Dan Williams Signed-off-by: John W. Linville commit 314a886f08d689cdcf10bd8e4777a3d9f483bb53 Author: Holger Schurig Date: Mon Oct 8 12:20:04 2007 +0200 [PATCH] libertas: fix "warning: Using plain integer as NULL pointer" sparse warnings This fixes three "warning: Using plain integer as NULL pointer" sparse warnings. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8b17d7234c7039b668739e1868f3d5544d79a4c0 Author: Holger Schurig Date: Mon Oct 8 11:09:30 2007 +0200 [PATCH] libertas: fix a debug statement Fix a debug statement Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d8b0fb51ef1563c631d26cb649a5479b5cc4899c Author: Geert Uytterhoeven Date: Mon Oct 8 09:43:02 2007 +0200 [PATCH] libertas link error due to gcc `smartness' Some versions of gcc replace strstr() calls with a single-character `needle' parameter by strchr() behind our back. This causes a link error if strchr() is defined as an inline function in (e.g. on m68k): | drivers/built-in.o: In function `libertas_parse_chan': | linux/drivers/net/wireless/libertas/debugfs.c:209: undefined reference to `strchr' | drivers/built-in.o: In function `libertas_parse_ssid': | linux/drivers/net/wireless/libertas/debugfs.c:260: undefined reference to `strchr' Avoid this by explicitly calling strchr() instead. Also include , because this file calls lots of str*() routines. Signed-off-by: Geert Uytterhoeven Acked-By: Holger Schurig Acked-By: Dan Williams Signed-off-by: John W. Linville commit 6470a89de90167cc1ff8a0312197ca422f5fe35f Author: Holger Schurig Date: Mon Oct 8 11:07:27 2007 +0200 [PATCH] libertas: fix u8 constant Don't write constants that are (per documentation and struct) u8 as 0x0001, use 0x01 instead. Also remove an useless cast. Signed-off-by: Holger Schurig Acked-By: Dan Williams Signed-off-by: John W. Linville commit 2bcde51d095490c223bb4ade351cb7981c367934 Author: Dan Williams Date: Wed Oct 3 10:37:45 2007 -0400 [PATCH] libertas: problems setting wpa keys The 88w8385 chip, using SDIO interface and firmware release 5.0.11p0, has problems when both unicast and multicast WPA keys are set in one command. This patch ensures the keys are set independently. The original author of this patch is Marc Pignat Signed-off-by: Marc Pignat Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 515ea2492cfc93233ba31402d1992a435aa78f37 Author: Ivo van Doorn Date: Sat Oct 6 14:18:41 2007 +0200 [PATCH] rt2x00: Release 2.0.10 Version bump Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c22eb87b5723b3d66665ca2ffa87428e0e489b16 Author: Ivo van Doorn Date: Sat Oct 6 14:18:22 2007 +0200 [PATCH] rt2x00: Allways memset memory obtained from skb_push() When skb_push() is used we should memset the memory before usage. This will prevent bugs which could occur when the data is treated as TX descriptor. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 37894473fb0d07e1e015781f7ae1b9b1762d49be Author: Ivo van Doorn Date: Sat Oct 6 14:18:00 2007 +0200 [PATCH] rt2x00: Clean disabling of rt73usb_get_tsf By defining rt73usb_get_tsf to NULL we only have 1 location that needs to be edited when rt73usb_get_tsf can be enabled again. This also reduces the number of #ifdefs in the code which is also a "good thing" Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5c58ee51ff8c0aca74c225e0263bc5dd2b917781 Author: Ivo van Doorn Date: Sat Oct 6 13:34:52 2007 +0200 [PATCH] rt2x00: Reorganize configuration handler Reorganize configuration handling by creating a extra structure which contains precalculated values based on the mac80211 values which are usefull for all individual drivers. This also fixes the preamble configuration problem, up untill now preamble was never configured since by default the rate->val value was used when changing the mode. Now rate->val will only be used to set the basic rate mask. The preamble configuration will now be done correctly through the erp_ie_changed callback function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4f5af6eb3d17f8e343597ea99d97eb2f2905b2fb Author: Ivo van Doorn Date: Sat Oct 6 14:16:30 2007 +0200 [PATCH] rt2x00: Small optimizations Make some small optimizations by removing some simple if-statements. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5cbf830e137d1b6057cb6b553a8ebbb7d1b9343f Author: Ivo van Doorn Date: Sat Oct 6 14:16:09 2007 +0200 [PATCH] rt2x00: Pass dev_state to rt2x00lib_toggle_rx Directly pass a value from the enum dev_state with rt2x00lib_toggle_rx, this will save us a ? : statement, and it is clearer then passing a 1 0 argument. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd9fa2d21aebbb618318954867c5dfe3751328be Author: Ivo van Doorn Date: Sat Oct 6 14:15:46 2007 +0200 [PATCH] rt2x00: Add get_tx_data_len callback function The TX datalen must always be converted to a value rt73 and rt2500usb understand. Both require to use a different size then skb->len. First off this is required because the descriptor must be added, but the second is because the value must be a multiple of either 2 or 4, and it should not be a multiple of the USB packetmax Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9ee8f57e0adfd929759fee1ec6a7900ae6851bc5 Author: Ivo van Doorn Date: Sat Oct 6 14:15:20 2007 +0200 [PATCH] rt2x00: Cut lines down to 80 characters rt61pci contained 1 line of 88 characters width, this needs to be cut down. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a137e202b0e47bca301d2315cca5c08140409ed7 Author: Ivo van Doorn Date: Sat Oct 6 14:14:58 2007 +0200 [PATCH] rt2x00: get_duration expects values in 100kbs get_duration expects all speeds to be passed in 100kbs, this means that passing 2 is incorrect and should be raised to 20 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit feb24691e3e87a740caec4568be1a202db786f20 Author: Ivo van Doorn Date: Sat Oct 6 14:14:29 2007 +0200 [PATCH] rt2x00: Move TSF sync values into rt2x00config All drivers use the same values for TSF sync, this will move the value determination into rt2x00config.c, and the definition for the values to rt2x00reg.h Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 81873e9ccd5731ca77027bdb32b34904e7af25d0 Author: Ivo van Doorn Date: Sat Oct 6 14:14:06 2007 +0200 [PATCH] rt2x00: Fix rfkill handling As reported by Modestas Vainius, enabling rkfill in 1 driver and disabling it in a second could cause a NULL pointer exception when the rfkill-disabled driver still sets the CONFIG_SUPPORT_HW_BUTTON flag. Furthermore, rfkill expects the timeout as a value in milliseconds instead of jiffies. Also increase the timeout to a second, since this 250ms would be overkill. Also the flag DEVICE_ENABLED_RADIO_HW is causing problems for devices which do not support the hardware button while rfkill is enabled in the driver. To remidy this we should inverse the flag and its meaning, rename the flag to DEVICE_DISABLED_RADIO_HW this means that by default the radio is enabled by the hardware button (if present) and can only be disabled explicitely. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5886d0dbf5b4226c6b6c8c44c555c5dd83c67b02 Author: Ivo van Doorn Date: Sat Oct 6 14:13:38 2007 +0200 [PATCH] rt2x00: Don't use changed_flags inside configure_packet_filter We shouldn't use changed_flags when configuring the packet filter, we work directly with the total_flags which is safe enough since we already check if something has changed after we applied our packet filtering flag rules. Also make sure that when the packet filter is scheduled, the rt2x00dev->interface.filter is cleared to make sure the drivers will update the packet filter instead of failing at the check: *total_flags == rt2x00dev->interface.filter Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 483272f5ee968b25172b80bd2d27e37fef1dcc3a Author: Ivo van Doorn Date: Sat Oct 6 14:13:06 2007 +0200 [PATCH] rt2x00: Move rt2x00dev flags into enumeration By putting the flags into a enumeration we can make it easier maintable since we don't have to assign numbers for each flag. This makes it easier to insert and remove flags. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6d7f9877a66a3abe0b04b63d1de4659919e21a92 Author: Ivo van Doorn Date: Sat Oct 6 14:12:42 2007 +0200 [PATCH] rt2x00: Store "STARTED" state during suspend Store the started state into a new flag DEVICE_STARTED_SUSPEND and set this when suspending while the device was started. We can't check for is_interface_present() since only mac80211 knows if there are monitor interfaces present. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3a84732a5c9758a4bd59088787cac23508ef8b62 Author: Ivo van Doorn Date: Sat Oct 6 14:12:13 2007 +0200 [PATCH] rt2x00: Remove radio check from rt2x00lib_toggle_rx Don't check if the radio is enabled in rt2x00lib_toggle_rx, this is required since the link tuner should be disabled when shutting down the device. The remaining calls inside the rt2x00lib_toggle_rx handler should deliver no problems when called while the radio is done. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4abee4bbd771ce42b9a0a19be11264721aa0e3ed Author: Ivo van Doorn Date: Sat Oct 6 14:11:46 2007 +0200 [PATCH] rt2x00: Remove duplicate code in MAC & BSSID handling The various drivers contained duplicate code to handle the MAC and BSSID initialization correctly. This moves the address copy to little endian variables to rt2x00config. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c109810318ef4d37e495f740e624b1a15b7a0818 Author: Martti Huttunen Date: Thu Oct 4 00:06:00 2007 -0400 [PATCH] p54usb: Add device ID for Linksys WUSB54AG Add the device ID for Linksys WUSB54AG. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit c3cf60a97fa4258599d308c74e2ee7c502b72e2a Author: Michael Wu Date: Thu Oct 4 00:04:07 2007 -0400 [PATCH] rtl8187: Add device ID for HP wireless print kit usb dongle This adds the device ID for the HP wireless print kit usb dongle. Thanks to Thierry Merle for the patch to the original rtl8187 driver. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 0b5316769774d1dc2fdd702e095f9e6992af269a Author: Dan Williams Date: Tue Oct 9 13:55:24 2007 -0400 [PATCH] ipw2200: batch non-user-requested scan result notifications ipw2200 makes extensive use of background scanning when unassociated or down. Unfortunately, the firmware sends scan completed events many times per second, which the driver pushes directly up to userspace. This needlessly wakes up processes listening for wireless events many times per second. Batch together scan completed events for non-user-requested scans and send them up to userspace every 4 seconds. Scan completed events resulting from an SIOCSIWSCAN call are pushed up without delay. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 04dd9d39b48636d2698049304fdfb9ca59a88b54 Author: Marcin Juszkiewicz Date: Sun Oct 7 20:51:08 2007 +0200 [PATCH] Add Linksys card to HostAP driver Socket 1: product info: "The Linksys Group, Inc.", "Wireless Network CF Card", "ISL37300P", "RevA" manfid: 0x0274, 0x3301 Signed-off-by: Marcin Juszkiewicz Signed-off-by: John W. Linville commit 61ef6062801b5ee8dcf18a90789713fbed249f1b Author: Daniel Drake Date: Sun Oct 7 16:24:26 2007 +0100 [PATCH] zd1211rw: Add ID for TalkTalk SNU5630NS/05 Tested by Su-Jong You zd1211b chip 0471:1237 v4810 high 00-12-bf AL2230_RF pa0 g--N Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 46232d29f4088d87cdc2ee94cc911aadbdf00d32 Author: Stefan Lippers-Hollmann Date: Fri Oct 5 23:42:51 2007 +0200 [PATCH] hostap_cs: Add device ID for Telekom T-Sinus 111card This adds the PCMCIA device ID for the Deutsche Telekom T-Sinus 111card to hostap_cs. $ /sbin/lspcmcia -v [...] Socket 0 Device 0: [hostap_cs] (bus ID: 0.0) Configuration: state: on Product Name: T-Sinus 111card 2.0.0 Identification: manf_id: 0x01bf card_id: 0x3301 function: 6 (network) prod_id(1): "T-Sinus" (0x8c389dc1) prod_id(2): "111card" (0x6a23ac17) prod_id(3): --- (---) prod_id(4): "2.0.0" (0x92b9effb) Signed-off-by: Stefan Lippers-Hollmann Signed-off-by: John W. Linville commit b7c6538cd84f8072fad43bfce530f5bf695edbba Author: Herbert Xu Date: Tue Oct 9 13:33:35 2007 -0700 [IPSEC]: Move state lock into x->type->output This patch releases the lock on the state before calling x->type->output. It also adds the lock to the spots where they're currently needed. Most of those places (all except mip6) are expected to disappear with async crypto. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 050f009e16f908932070313c1745d09dc69fd62b Author: Herbert Xu Date: Tue Oct 9 13:31:47 2007 -0700 [IPSEC]: Lock state when copying non-atomic fields to user-space This patch adds locking so that when we're copying non-atomic fields such as life-time or coaddr to user-space we don't get a partial result. For af_key I've changed every instance of pfkey_xfrm_state2msg apart from expiration notification to include the keys and life-times. This is in-line with XFRM behaviour. The actual cases affected are: * pfkey_getspi: No change as we don't have any keys to copy. * key_notify_sa: + ADD/UPD: This wouldn't work otherwise. + DEL: It can't hurt. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 68325d3b12ad5bce650c2883bb878257f197efff Author: Herbert Xu Date: Tue Oct 9 13:30:57 2007 -0700 [XFRM] user: Move attribute copying code into copy_to_user_state_extra Here's a good example of code duplication leading to code rot. The notification patch did its own netlink message creation for xfrm states. It duplicated code that was already in dump_one_state. Guess what, the next time (and the time after) when someone updated dump_one_state the notification path got zilch. This patch moves that code from dump_one_state to copy_to_user_state_extra and uses it in xfrm_notify_sa too. Unfortunately whoever updates this still needs to update xfrm_sa_len since the notification path wants to know the exact size for allocation. At least I've added a comment saying so and if someone still forgest, we'll have a WARN_ON telling us so. I also changed the security size calculation to use xfrm_user_sec_ctx since that's what we actually put into the skb. However it makes no practical difference since it has the same size as xfrm_sec_ctx. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 658b219e9379d75fbdc578b9630b598098471258 Author: Herbert Xu Date: Tue Oct 9 13:29:52 2007 -0700 [IPSEC]: Move common code into xfrm_alloc_spi This patch moves some common code that conceptually belongs to the xfrm core from af_key/xfrm_user into xfrm_alloc_spi. In particular, the spin lock on the state is now taken inside xfrm_alloc_spi. Previously it also protected the construction of the response PF_KEY/XFRM messages to user-space. This is inconsistent as other identical constructions are not protected by the state lock. This is bad because they in fact should be protected but only in certain spots (so as not to hold the lock for too long which may cause packet drops). The SPI byte order conversion has also been moved. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 75ba28c633952f7994a7117c98ae6515b58f8d30 Author: Herbert Xu Date: Tue Oct 9 13:27:27 2007 -0700 [IPSEC]: Remove gratuitous km wake-up events on ACQUIRE There is no point in waking people up when creating/updating larval states because they'll just go back to sleep again as larval states by definition cannot be found by xfrm_state_find. We should only wake them up when the larvals mature or die. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 007f0211a8872f32381f5d44becf8eb2f27f3c30 Author: Herbert Xu Date: Tue Oct 9 13:25:59 2007 -0700 [IPSEC]: Store IPv6 nh pointer in mac_header on output Current the x->mode->output functions store the IPv6 nh pointer in the skb network header. This is inconvenient because the network header then has to be fixed up before the packet can leave the IPsec stack. The mac header field is unused on output so we can use that to store this instead. This patch does that and removes the network header fix-up in xfrm_output. It also uses ipv6_hdr where appropriate in the x->type->output functions. There is also a minor clean-up in esp4 to make it use the same code as esp6 to help any subsequent effort to merge the two. Lastly it kills two redundant skb_set_* statements in BEET that were simply copied over from transport mode. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1ecafede835321ebdc396531245adc37d22366f7 Author: Herbert Xu Date: Tue Oct 9 13:24:07 2007 -0700 [IPSEC]: Remove bogus ref count in xfrm_secpath_reject Constructs of the form xfrm_state_hold(x); foo(x); xfrm_state_put(x); tend to be broken because foo is either synchronous where this is totally unnecessary or if foo is asynchronous then the reference count is in the wrong spot. In the case of xfrm_secpath_reject, the function is synchronous and therefore we should just kill the reference count. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 32f0c4cbe495d121c09ed14d9c84f9e1b9574415 Author: Pavel Emelyanov Date: Tue Oct 9 13:02:17 2007 -0700 [NETNS]: Don't memset() netns to zero manually The newly created net namespace is set to 0 with memset() in setup_net(). The setup_net() is also called for the init_net_ns(), which is zeroed naturally as a global var. So remove this memset and allocate new nets with the kmem_cache_zalloc(). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0a8891a0a419d43ea06c8ded0849f0820c6a873b Author: Benjamin Thery Date: Mon Oct 8 20:39:36 2007 -0700 [IPv6]: use container_of() macro in fib6_clean_node() In ip6_fib.c, fib6_clean_node() casts a fib6_walker_t pointer to a fib6_cleaner_t pointer assuming a struct fib6_walker_t (field 'w') is the first field in struct fib6_walker_t. To prevent any future problems that may occur if one day a field is inadvertently inserted before the 'w' field in struct fib6_cleaner_t, (and to improve readability), this patch uses the container_of() macro. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4665079cbb2a3e17de82f2ab2940b9f97f37d65e Author: Pavel Emelyanov Date: Mon Oct 8 20:38:39 2007 -0700 [NETNS]: Move some code into __init section when CONFIG_NET_NS=n With the net namespaces many code leaved the __init section, thus making the kernel occupy more memory than it did before. Since we have a config option that prohibits the namespace creation, the functions that initialize/finalize some netns stuff are simply not needed and can be freed after the boot. Currently, this is almost not noticeable, since few calls are no longer in __init, but when the namespaces will be merged it will be possible to free more code. I propose to use the __net_init, __net_exit and __net_initdata "attributes" for functions/variables that are not used if the CONFIG_NET_NS is not set to save more space in memory. The exiting functions cannot just reside in the __exit section, as noticed by David, since the init section will have references on it and the compilation will fail due to modpost checks. These references can exist, since the init namespace never dies and the exit callbacks are never called. So I introduce the __exit_refok attribute just like it is already done with the __init_refok. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d62a38d1ab350f787e4941e42a3d3e97971e38f5 Author: Karsten Keil Date: Mon Oct 8 20:37:11 2007 -0700 [ISDN]: Change I4L to use alloc_netdev(). Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 3607c44676583e80122c1fed23f34d003cdd6979 Author: Ursula Braun Date: Mon Oct 8 20:28:47 2007 -0700 [8021Q]: transfer dev_id from real device A net_device struct provides field dev_id. It is used for unique ipv6 generation in case of shared network cards (as for the OSA network cards of IBM System z). If VLAN devices are built on top of such shared network cards, this dev_id information needs to be transferred to the VLAN device. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 45b17f48eaf5e5ff4202454985557b3240141caa Author: Herbert Xu Date: Mon Oct 8 17:27:19 2007 -0700 [IPSEC]: Move RO-specific output code into xfrm6_mode_ro.c The lastused update check in xfrm_output can be done just as well in the mode output function which is specific to RO. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cdf7e668d4327a33e11be04c4cb9bcc604eaaa0f Author: Herbert Xu Date: Mon Oct 8 17:26:34 2007 -0700 [IPSEC]: Unexport xfrm_replay_notify Now that the only callers of xfrm_replay_notify are in xfrm, we can remove the export. This patch also removes xfrm_aevent_doreplay since it's now called in just one spot. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 436a0a402203d5a47d2edf7e4dde6c08a7257983 Author: Herbert Xu Date: Mon Oct 8 17:25:53 2007 -0700 [IPSEC]: Move output replay code into xfrm_output The replay counter is one of only two remaining things in the output code that requires a lock on the xfrm state (the other being the crypto). This patch moves it into the generic xfrm_output so we can remove the lock from the transforms themselves. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 83815dea47cf3e98ccbb6aecda08cba1ba91208f Author: Herbert Xu Date: Mon Oct 8 17:25:08 2007 -0700 [IPSEC]: Move xfrm_state_check into xfrm_output.c The functions xfrm_state_check and xfrm_state_check_space are only used by the output code in xfrm_output.c so we can move them over. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 406ef77c893ebd882209be4e393d64b01fe72054 Author: Herbert Xu Date: Mon Oct 8 17:16:30 2007 -0700 [IPSEC]: Move common output code to xfrm_output Most of the code in xfrm4_output_one and xfrm6_output_one are identical so this patch moves them into a common xfrm_output function which will live in net/xfrm. In fact this would seem to fix a bug as on IPv4 we never reset the network header after a transform which may upset netfilter later on. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bc31d3b2c7d7f2a03721a05cb3c9a3ce8b1e2e5a Author: Herbert Xu Date: Mon Oct 8 17:14:34 2007 -0700 [IPSEC] ah: Remove keys from ah_data structure The keys are only used during initialisation so we don't need to carry them in esp_data. Since we don't have to allocate them again, there is no need to place a limit on the authentication key length anymore. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4b7137ff8fb49d7bf22dfa248baa0d02ace2c43d Author: Herbert Xu Date: Mon Oct 8 17:13:44 2007 -0700 [IPSEC] esp: Remove keys from esp_data structure The keys are only used during initialisation so we don't need to carry them in esp_data. Since we don't have to allocate them again, there is no need to place a limit on the authentication key length anymore. This patch also kills the unused auth.icv member. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f0703c80e5156406ad947cb67fe277725b48080f Author: Ursula Braun Date: Mon Oct 8 02:03:31 2007 -0700 [AF_IUCV]: postpone receival of iucv-packets AF_IUCV socket programs may waste Linux storage, because af_iucv allocates an skb whenever posted by the receive callback routine and receives the message immediately. Message receival is now postponed if data from previous callbacks has not yet been transferred to the receiving socket program. Instead a message handle is saved in a message queue as a reminder. Once messages could be given to the receiving socket program, there is an additional checking for entries in the message queue, followed by skb allocation and message receival if applicable. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 57f20448032158ad00b1e74f479515c689998be9 Author: Heiko Carstens Date: Mon Oct 8 02:02:52 2007 -0700 [AF_IUCV]: remove static declarations from header file. Signed-off-by: Heiko Carstens Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 405d8e5cbbe5aca20cc745046b70831bfc5e4a8f Author: Andy Gospodarek Date: Mon Oct 8 01:08:47 2007 -0700 [TG3]: Fix ethtool autonegotiate flags. I recently noticed that when calling: # ethtool -s eth0 autoneg on on a 5722 (though I'm sure it's not specific to that card) that subsequent checks of the cards status looked like this: # ethtool eth0 Settings for eth0: Supported ports: [ MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised auto-negotiation: No <---- This seems odd?!? Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) Link detected: yes I noticed that the following commit: commit 3600d918d870456ea8e7bb9d47f327de5c20f3d6 Author: Michael Chan Date: Thu Dec 7 00:21:48 2006 -0800 [TG3]: Allow partial speed advertisement. Honor the advertisement bitmask from ethtool. We used to always advertise the full capability when autoneg was set to on. changed things around so that ethtool speed settings were strictly followed. Unfortunately ethtool doesn't seem to set ADVERTISED_Autoneg in the advertising field (and maybe it shouldn't have to). I'd vote that it should be fixed there, but it should also be added here just in case someone using ethtool ioctls in their own application gets what they want. Adding that flag in tg3_set_settings seemed like the most logical place since the driver works fine on boot. This is just an issue when re-enabling autonegotiation, so we should probably nip it there. Signed-off-by: Andy Gospodarek Acked-by: Michael Chan Signed-off-by: David S. Miller commit 630e499724bda4ecb62b1f6652656e886f04197f Author: Alex Villacís Lasso Date: Mon Oct 8 01:07:28 2007 -0700 [IRDA]: Oops fix for ksdazzle This fixes a kernel oops triggered by the ksdazzle SIR driver. We need more space for input frames, and 2048 should be plenty of it. Signed-off-by: Alex Villacís Lasso Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 14e3e07979c4384e45e751882292d3b38477e855 Author: Jeff Garzik Date: Mon Oct 8 00:06:32 2007 -0700 [NET]: split dev_ifsioc() according to locking This always bugged me: dev_ioctl() called dev_ifsioc() either inside read_lock(dev_base_lock) or rtnl_lock(), depending on the ioctl being executed. This change moves the ioctls executed inside dev_base_lock to a new function, dev_ifsioc_locked(). Now the locking context is completely clear to the reader. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit cfcabdcc2d5a810208e5bb3974121b7ed60119aa Author: Stephen Hemminger Date: Tue Oct 9 01:59:42 2007 -0700 [NET]: sparse warning fixes Fix a bunch of sparse warnings. Mostly about 0 used as NULL pointer, and shadowed variable declarations. One notable case was that hash size should have been unsigned. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit de83c058af25aa97ed4864abab11e90e8dead6e2 Author: Ilpo Järvinen Date: Sun Oct 7 23:37:55 2007 -0700 [TCP]: "Annotate" another fackets_out state reset This should no longer be necessary because fackets_out is accurate. It indicates bugs elsewhere, thus report it. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c79e3357166a2ca39fd7613b0eb7f493c1ac5e11 Author: Ilpo Järvinen Date: Sun Oct 7 23:37:25 2007 -0700 [TCP]: Comment fastpath_cnt_hint off-by-one trap Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 29d0a309d11bac9e57af914d0d6a35cde0080861 Author: Ilpo Järvinen Date: Sun Oct 7 23:36:41 2007 -0700 [TCP]: Fix two off-by-one errors in fackets_out adjusting logic 1) Passing wrong skb to tcp_adjust_fackets_out could corrupt fastpath_cnt_hint as tcp_skb_pcount(next_skb) is not included to it if hint points exactly to the next_skb (it's lagging behind, see sacktag). 2) When fastpath_skb_hint is put backwards to avoid dangling skb reference, the skb's pcount must also be removed from count (not included like above). Reported by Cedric Le Goater Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 182f6ed5188ccb46d1c54c3334943a54110d0118 Author: Michael Chan Date: Sun Oct 7 23:29:06 2007 -0700 [TG3]: Update version to 3.82. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d30cdd28fba556143a4bb0d1a6097ebcc2891477 Author: Matt Carlson Date: Sun Oct 7 23:28:35 2007 -0700 [TG3]: Add 5784 and 5764 support. This patch adds the support for 5784 and 5764 devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 795d01c523dd9f22acc70fe86ed30e605e00024d Author: Matt Carlson Date: Sun Oct 7 23:28:17 2007 -0700 [TG3]: ASIC decoding and basic CPMU support. Newer products change the way the ASIC revision is obtained. This patch implements how the driver will extract the revision number. This patch also adds preliminary CPMU support. CPMU stands for Central Power Management Unit. The CPMU's role is to put the chip into lower power states when the operating conditions allow it. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9974a356b204833b32173210ca25edfdc24dcdd5 Author: Matt Carlson Date: Sun Oct 7 23:27:28 2007 -0700 [TG3]: Walk PCI capability lists. Newer tg3 devices shuffle around the registers in PCI configuration space. This patch changes the way the driver accesses the PCI capabilities registers. Hardcoded register locations are replaced with offsets from pci_find_capability() return values. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8658251dc3fed54b09991a2c5e0a7084755157d7 Author: Auke Kok Date: Thu Oct 4 15:00:08 2007 -0700 e1000e: Fix ethtool register test code A merge/cleanup code accidentally dropped 8254x code in and removed 8257x code here. Undo this mistake and use the pci-e relevant register test similar as to what is in e1000. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 589c085f2734537dce4a8b59a1d49006479e33d1 Author: Auke Kok Date: Thu Oct 4 11:38:43 2007 -0700 e1000e: fix debugging printout code A small bug crawled in the -DDEBUG enabled code. Fix this to properly call the backreference device name. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 28692ec45e58f40a998beb155fe1c0d3e1167485 Author: Ursula Braun Date: Fri Oct 5 16:45:48 2007 +0200 qeth: discard inbound packets with unknown header id Debugging statements are added for inbound packets with unknown header id. Those packets are discarded and no longer processed as osn-packets. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 59579da329b22bcddc5da0c22c61d6dc1f9eb96a Author: Klaus D. Wacker Date: Fri Oct 5 16:45:47 2007 +0200 lcs: Channel errors drive lcs_recovery which leads to kernel panic. When the lcs irq routine detects channel failures it drives device recovery. After this event the device is no longer usable for shutdown requests, because the lcs_irq routine may get wrong channel status information. In such a case the lcs_irq routine marks the channel in 'error' state. The channel state comes back to 'running' after restarting the channels. Signed-off-by: Klaus D. Wacker Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit d8fae9c2f2642ffe411424ed2e4677f959168152 Author: Ursula Braun Date: Fri Oct 5 16:45:46 2007 +0200 qeth: avoid duplicate deletion of multicast addresses if qeth_set_multicast_list() is performed on 2 CPUs in parallel, card->ip_list may end corrupted. Solution: In function __qeth_delete_all_mc() remove card->ip_list entry before invoking qeth_deregister_addr_entry(). Thus a 2nd invocation of qeth_set_multicast_list() cannot try to remove the same entry twice. Signed-off-by Ursula Braun Signed-off-by: Jeff Garzik commit 6570ebc4f57ad0761104f769576ae5652d9b8d64 Author: Frank Blaschka Date: Fri Oct 5 16:45:45 2007 +0200 qeth: EDDP does not work on large MTUs Fix filling the qdio buffers in EDDP mode. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit bc4b2b497aa61c79e3f3444237a4003a254ea565 Author: Klaus D. Wacker Date: Fri Oct 5 16:45:44 2007 +0200 qeth: HiperSockets layer-3 interface drop non IPv4 or non IPv6 packets HiperSockets infrastructure (layer-3 mode) supports only IPv4 or IPv6 packets. Sending other packet types disturbs TCP/IP on z/VM, which issues messages about invalid packets. Qeth send routine will detect packet type on sending over a HiperSockets interface (in layer-3 mode) and drop non IP packets. The error and drop count of the interface is incremented. Signed-off-by: Klaus D. Wacker Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit a3138df9f20e726c517f8df7387b5d83f5df5566 Author: David S. Miller Date: Tue Oct 9 01:54:01 2007 -0700 [NIU]: Add Sun Neptune ethernet driver. With cleanup suggestions and bugs spotted by Stephen Hemminger, Ingo Oeser, Matheos Worku, and Oliver Hartkopp. Signed-off-by: David S. Miller commit 4a5409a5a850c84505d658ddf36f98b2c542ec07 Author: Gerrit Renker Date: Thu Oct 4 14:52:28 2007 -0700 [DCCP]: Twice the wrong reset code in receiving connection-Requests This fixes two bugs in processing of connection-Requests in v{4,6}_conn_request: 1. Due to using the variable `reset_code', the Reset code generated internally by dccp_parse_options() is overwritten with the initialised value ("Too Busy") of reset_code, which is not what is intended. 2. When receiving a connection-Request on a multicast or broadcast address, no Reset should be generated, to avoid storms of such packets. Instead of jumping to the `drop' label, the v{4,6}_conn_request functions now return 0. Below is why in my understanding this is correct: When the conn_request function returns < 0, then the caller, dccp_rcv_state_process(), returns 1. In all instances where dccp_rcv_state_process is called (dccp_v4_do_rcv, dccp_v6_do_rcv, and dccp_child_process), a return value of != 0 from dccp_rcv_state_process() means that a Reset is generated. If on the other hand the conn_request function returns 0, the packet is discarded and no Reset is generated. Note: There may be a related problem when sending the Response, due to the following. if (dccp_v6_send_response(sk, req, NULL)) goto drop_and_free; /* ... */ drop_and_free: return -1; In this case, if send_response fails due to transmission errors, the next thing that is generated is a Reset with a code "Too Busy". I haven't been able to conjure up such a condition, but it might be good to change the behaviour here also (not done by this patch). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2bfd754d1bf29d3324270e52ef11ce6367bb0685 Author: Gerrit Renker Date: Thu Oct 4 14:50:57 2007 -0700 [DCCP]: Correct documentation This corrects erroneous documentation of the socket API. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit dcad856fe8e0222012d9ae0e4dc6c6e5cce276e6 Author: Gerrit Renker Date: Thu Oct 4 14:44:01 2007 -0700 [DCCP]: Wrong format in printk The elapsed time uses u32, but printk was using %d, not %u. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 451bc0473f010babeadd888ae8ec1015959fd1b2 Author: Gerrit Renker Date: Thu Oct 4 14:43:42 2007 -0700 [DCCP]: Tidy-up -- minisock initialisation This * removes a declaration of a non-existent function __dccp_minisock_init; * shifts the initialisation function dccp_minisock_init() from options.c to minisocks.c, where it is more naturally expected to be. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5e28599a6e45eb8ce7e50510b06c3a34ebf1a8fa Author: Gerrit Renker Date: Thu Oct 4 14:43:09 2007 -0700 [CCID2]: Sequence number wraparound issues This replaces several uses of standard arithmetic with the DCCP sequence number arithmetic functions. The problem here is that the sequence number wrap-around was not taken into consideration. * Condition "seqp->ccid2s_seq <= prev->ccid2s_seq" has been replaced by dccp_delta_seqno(seqp->ccid2s_seq, prev->ccid2s_seq) >= 0 since if seqp is `before' prev, then the delta_seqno() is positive. * The test whether sequence numbers `a' and `b' are consecutive has the form dccp_delta_seqno(a, b) == 1 * Increment of ccid2hctx_rpseq could be done using dccp_inc_seqno(), but since here the incremented ccid2hctx_rpseq == seqno, used assignment instead. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6c583248083c30c5305ec561e79f666ca465b376 Author: Gerrit Renker Date: Thu Oct 4 14:42:19 2007 -0700 [CCID2]: Remove redundant case block skb's passed to ccid2_hc_tx_send_packet() are headerless, the packet type is decided later, in dccp_write_xmit(). Therefore the first test of the switch/case block is always true, the others are never reached. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ee196c2186d24d82088c94962598470e5abc081f Author: Gerrit Renker Date: Thu Oct 4 14:41:55 2007 -0700 [CCID2]: Remove redundant BUG_ON This removes a test for `val < 1' which would only have been triggered when val < 0, due to a preceding test for 0. Fixed by using an unsigned type for cwnd (as in TCP) instead. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7d9e8931f93683e575679e41f188d3b465269f08 Author: Gerrit Renker Date: Thu Oct 4 14:41:26 2007 -0700 [CCID2]: Remove ugly BUG_ON This removes an ugly BUG_ON which has been pointed out by Arnaldo. Instead of freezing up the machine, a `critical' message is now issued to the system log. There is potential of doing this more gracefully (eg. there are a few internal variables which could be updated despite the lack of memory), but that requires more complicated changes to the algorithm; thus a `FIXME' has been added. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cd1f7d347c9e51f348119811bd41b74346ec57b8 Author: Gerrit Renker Date: Thu Oct 4 14:41:00 2007 -0700 [CCID2]: Simplify interface This patch simplifies the interface of ccid2_hc_tx_alloc_seq(): * ccid2_hc_tx_alloc_seq() is always called with an argument of CCID2_SEQBUF_LEN; * other code - ccid2_hc_tx_check_sanity() - even depends on the assumption that ccid2_hc_tx_alloc_seq() has been called with this particular size; * passing the `gfp_t' argument to ccid2_hc_tx_alloc_seq() is redundant with gfp_any(). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 126acd5bf769fcb80e38a5360ad12b842d6d29d4 Author: Gerrit Renker Date: Thu Oct 4 14:40:22 2007 -0700 [DCCP]: Update API documentation This adds documentation on the use of service codes on client and server. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 042d18f9f39a51716683b4e156fbee689314bb22 Author: Gerrit Renker Date: Thu Oct 4 14:39:53 2007 -0700 [DCCP]: Make all `debug' parameters bool This just sets the parameter to bool, since debugging messages are either on or off. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7c559a9e44ee61faf2f339604ce708decb345a93 Author: Gerrit Renker Date: Thu Oct 4 14:39:22 2007 -0700 [DCCP]: Add socket option to query the current MPS This enables applications to query the current value of the Maximum Packet Size via a socket option, suggested as a SHOULD in (RFC 4340, p. 102). This socket option is useful to avoid the annoying bail-out via `-EMSGSIZE'. In particular, as fragmentation is not currently supported (and its use is partly discouraged in RFC 4340). With this option, it is possible to size buffers accordingly, e.g. int buflen = dccp_get_cur_mps(sockfd); /* or */ if (msgsize > dccp_get_cur_mps(sockfd)) die("message is too large for this path"); Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit bc8498721dfe3f7d537f4f75302be7dbe9c7b939 Author: Gerrit Renker Date: Thu Oct 4 14:38:49 2007 -0700 [DCCP]: Wait for CCID This performs a minor optimisation: when ccid_hc_tx_send_packet returns a value greater zero, then the same call previously was done again at the begin of the while loop in dccp_wait_for_ccid. This patch exploits the available information and schedule-timeouts directly instead. Documentation also added. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit af289e803fdf2fcd19cf4a57c3c896dba146c756 Author: Olof Johansson Date: Wed Oct 3 13:03:54 2007 -0500 pasemi_mac: enable iommu support pasemi_mac: enable iommu support Enable IOMMU support for pasemi_mac, but avoid using it on non-partitioned systems for performance reasons. The user can override this by selecting the PPC_PASEMI_IOMMU_DMA_FORCE configuration option. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 9ddf7774b9d760dc3fa4d5ae7d7fd92d4c02150b Author: Jeff Garzik Date: Wed Oct 3 13:52:23 2007 -0400 drivers/net/qla3xxx: trim trailing whitespace Also, hopefully, change the file permissions to 0644. Signed-off-by: Jeff Garzik commit 07c2c76e27e629fb5c9a539e249906802866abb8 Author: vbarshak@ru.mvista.com Date: Tue Oct 2 16:01:07 2007 +0400 Fix typo in new EMAC driver. Fix an obvious typo in emac_xmit_finish. Signed-off-by: Valentine Barshak Signed-off-by: Jeff Garzik commit 1dad939ddbbd8d64e1edc7799df00a9e591b4197 Author: trem Date: Tue Oct 2 14:04:38 2007 -0700 ipg.c doesn't compile with with CONFIG_HIGHMEM64G I've tried to compile 2.6.23-rc8-mm2, but it fails on ipg.c with the error : ERROR: "__udivdi3" [drivers/net/ipg.ko] undefined! I've instigated a bit, and I've found this code in ipg.c : static void ipg_nic_txfree(struct net_device *dev) { struct ipg_nic_private *sp = netdev_priv(dev); void __iomem *ioaddr = sp->ioaddr; const unsigned int curr = ipg_r32(TFD_LIST_PTR_0) - (sp->txd_map / sizeof(struct ipg_tx)) - 1; unsigned int released, pending; sp->txd_map is an u64 because : dma_addr_t txd_map; And in asm-i386/types.h, I see : #ifdef CONFIG_HIGHMEM64G typedef u64 dma_addr_t; #else typedef u32 dma_addr_t; #endif I my config, I use CONFIG_HIGHMEM64G sizeof(struct ipg_tx) is an u32 So the div failed on i386 because of u64 / u32. [akpm@linux-foundation.org: cleanups] Cc: Sorbica Shieh Cc: Jesse Huang Cc: Jeff Garzik Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b5254eee7994ba0a44ba7386cb66c2ce2f30fcc6 Author: Olof Johansson Date: Tue Oct 2 16:27:57 2007 -0500 pasemi_mac: use buffer index pointer in clean_rx() pasemi_mac: use buffer index pointer in clean_rx() Use the new features in B0 for buffer ring index on the receive side. This means we no longer have to search in the ring for where the buffer came from. Also cleanup the RX cleaning side a little, while I was at it. Note: Pre-B0 hardware is no longer supported, and needs a pile of other workarounds that are not being submitted for mainline inclusion. So the fact that this breaks old hardware is not a problem at this time. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 9e81d331f2ec65695e4366ce592e14f9700bae8b Author: Olof Johansson Date: Tue Oct 2 16:27:39 2007 -0500 pasemi_mac: clear out old errors on interface open pasemi_mac: clear out old errors on interface open Clear out any pending errors when an interface is brought up. Since the bits are sticky, they might be from interface shutdown time after firmware has used it, etc. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 7ddeae2c6ceed7f786344731dda27d4277957780 Author: Olof Johansson Date: Tue Oct 2 16:27:28 2007 -0500 pasemi_mac: update todo list pasemi_mac: update todo list Remove some stale todo items that have been taken care of. Add a couple of upcoming ones. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit ad5da10a64bdca1ed39b25946727a1ce2659f3d4 Author: Olof Johansson Date: Tue Oct 2 16:27:15 2007 -0500 pasemi_mac: further performance tweaks pasemi_mac: further performance tweaks Misc driver tweaks for pasemi_mac: * Increase ring size (really needed mostly on 10G) * Take out an unneeded barrier * Move around a few prefetches and reorder a few calls * Don't try to clean on full tx buffer, just let things take their course and stop the queue directly * Avoid filling on the same line as the interface is working on to reduce cache line bouncing * Avoid unneeded clearing of software state (and make the interface shutdown code handle it) * Fix up some of the tx ring wrap logic. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 8dc121a4b620090e594945fd36f878836fc5a14a Author: Olof Johansson Date: Tue Oct 2 16:26:53 2007 -0500 pasemi_mac: add local skb alignment pasemi_mac: add local skb alignment Add local SKB alignment to pasemi_mac, since ppc64 in general has it at 0 because of design flaws in some of the IBM server bridge chips. However, for PWRficient doing the unaligned copies is more expensive than doing unaligned DMA so make sure the data is aligned instead. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 9a50bebda95745d312c69d3bb6d788067cbefb84 Author: Olof Johansson Date: Tue Oct 2 16:26:30 2007 -0500 pasemi_mac: workaround for erratum 5971 pasemi_mac: workaround for erratum 5971 Implement workarounds for erratum 5971, where L2 hints aren't considered properly unless the way hint is enabled on the interface. Since L2 isn't setup to dedicate a way to headers, we need to reset the packet count by hand so it won't run out of credits. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit ad3c20d1ab586884f1815c315e3f303a8b8a7d7d Author: Olof Johansson Date: Tue Oct 2 16:26:13 2007 -0500 pasemi_mac: implement sg support pasemi_mac: implement sg support Implement SG support for pasemi_mac Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit fc9e4d2a93dab4a995e2e75725577b9a60154cbc Author: Olof Johansson Date: Tue Oct 2 16:25:53 2007 -0500 pasemi_mac: rework ring management pasemi_mac: rework ring management Rework ring management, switching to an opaque ring format instead of the struct-based descriptor+pointer setup, since it will be needed for SG support. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 18eec695427ce1258fb5dad0ac180fa4d6f64af7 Author: Olof Johansson Date: Tue Oct 2 16:25:14 2007 -0500 pasemi_mac: fix bug in receive buffer dma mapping pasemi_mac: fix bug in receive buffer dma mapping skb->len isn't actually set to the size of the allocated skb, so don't try to use it when figuring out how much to map. (This hasn't surfaced as a real bug because we effectively disable translation for the interface, but it still needs fixing for the future) Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 69c29d89185dc1de7224f5f98588ddc061f1fad2 Author: Olof Johansson Date: Tue Oct 2 16:24:51 2007 -0500 pasemi_mac: basic error checking pasemi_mac: basic error checking Add some rudimentary error checking to pasemi_mac. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 5ecc2a5d3e3c39535d2cc10dad15853e9e9b072d Author: Michael Buesch Date: Tue Oct 2 12:17:56 2007 +0200 [MAC80211]: Update beacon_update callback documentation Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 478f8d2ba56b40ad1c17e21c1503669b83c96e8e Author: Tomas Winkler Date: Sun Sep 30 13:52:37 2007 +0200 [MAC80211]: add sta_notify callback This patch adds sta_notify callback and removes sta_table_notification which was not used by any driver. sta_notify() is essential for drivers that keeps notion of station internally and need to be notified about removal or addition of a station to the (I)BSS or assocation to an AP. This version adds interface id to the parameter list as suggested by Johannes Berg Signed-off-by: Tomas Winkler Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 42613db7605a68a70f97513137392bda9b27bb9e Author: Johannes Berg Date: Fri Sep 28 21:52:27 2007 +0200 [MAC80211]: implement cfg80211's change_interface hook This implements the cfg80211 change_interface hook that changes the type of an interface and cleans up the code a bit. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 47f0c502209056da728e6a306a43d5e19a37f4fa Author: Michael Buesch Date: Thu Sep 27 15:10:44 2007 +0200 [MAC80211]: Add association LED trigger Many devices have LEDs to indicate the link status. Export this functionality to drivers. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ddd3d2be85e3207c47f2b3c431723e6c758b4b0d Author: Johannes Berg Date: Wed Sep 26 17:53:20 2007 +0200 [MAC80211]: make userspace-mlme a per-interface setting Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 58d4185e36913d4fc94afa4b4daccb3c9aa01957 Author: Johannes Berg Date: Wed Sep 26 17:53:18 2007 +0200 [MAC80211]: improve radiotap injection This improves radiotap injection by removing the shortcut over TX handlers that led to BUGS when injecting frames without setting a rate and also resulted in various other quirks. Now, TX handlers are run but some information that was present in the radiotap header is used instead of automatic settings. Signed-off-by: Johannes Berg Cc: Andy Green Signed-off-by: John W. Linville commit 628a140ba033ef201706a8c7e767c8a0c0f8326c Author: Johannes Berg Date: Wed Sep 26 17:53:17 2007 +0200 [MAC80211]: remove ALG_NONE This "algorithm" is used only internally and is not useful. Signed-off-by: Johannes Berg Cc: Michael Buesch Acked-by: Zhu Yi Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 640845a5632390eaa9357cd818646c8f0ee3d47e Author: Johannes Berg Date: Wed Sep 26 17:53:16 2007 +0200 [MAC80211]: use RX_FLAG_DECRYPTED for sw decrypted as well This makes mac80211 set the RX_FLAG_DECRYPTED flag for frames decrypted in software allowing us to handle some things more uniformly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1990af8d14e48445a0ddcca7765a177b6661d676 Author: Johannes Berg Date: Wed Sep 26 17:53:15 2007 +0200 [MAC80211]: consolidate decryption more Currently, we have three RX handlers doing the decryption. This patch changes it to have only one handler doing everything, thereby getting rid of many duplicate checks. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller -- net/mac80211/rx.c | 46 ++++++++++++---------------------------------- 1 files changed, 12 insertions(+), 34 deletions(-) commit 70f0876579ceeea9fd7bd4a20fade524a0b3bdda Author: Johannes Berg Date: Wed Sep 26 17:53:14 2007 +0200 [MAC80211]: move sta_process rx handler later This moves the sta_process RX handler to after decryption so that frames that cannot be decrypted don't influence statistics, it is likely that they were injected or something else is totally wrong. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f9d540ee5f7e480339911df8d7389ef4c435ab54 Author: Johannes Berg Date: Fri Sep 28 14:02:09 2007 +0200 [MAC80211]: remove management interface Removes the management interface since it is only required for hostapd/userspace MLME, will not be in the final tree at least in this form and hostapd/userspace MLME currently do not work against this tree anyway. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit a28975525016ddcbdaab8225666df1cf2dc9cb2d Author: Johannes Berg Date: Fri Sep 28 14:01:25 2007 +0200 [MAC80211]: add "invalid" interface type Since I cannot convince the lazy driver authors (hello Michael) to stop (ab)using the MGMT interface type internally in their drivers, this patch introduces a new _INVALID type especially for their use and changes all affected drivers to use it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f7c4daed99fba15e4e48df464031f4ac7c32e4c9 Author: Michael Buesch Date: Mon Sep 24 18:41:49 2007 +0200 [MAC80211]: Check open_count before calling config callback. Also remove the check for ops->config!=NULL, as it can never be NULL. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 05b64b364822863974c0121359b01d7ba0f22205 Author: Michael Buesch Date: Fri Sep 28 16:19:03 2007 +0200 [B43]: Rewrite pwork locking policy. Implement much easier and more lightweight locking for the periodic work. This also removes the last big busywait loop and replaces it by a sleeping loop. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 42bb4cd5ae320dd46630533fecb91b940d4468e2 Author: Michael Buesch Date: Fri Sep 28 14:22:33 2007 +0200 [B43]: Use input-polldev for the rfkill switch This removes the direct call to rfkill on an rfkill event and replaces it with an input device. This way userspace is also notified about the event. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8e9f7529fdfe34ed519f048682eb404fbd8004e8 Author: Michael Buesch Date: Thu Sep 27 21:35:34 2007 +0200 [B43]: RF-kill support This adds full support for the RFKILL button and the RFKILL LED trigger. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 21954c367e4088c491122edd263964345bc1d3bf Author: Michael Buesch Date: Thu Sep 27 15:31:40 2007 +0200 [B43]: LED triggers support Drive the LEDs through the generic LED triggers. Signed-off-by: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 20405c08412a4d89357870d7220f9fb1c458b286 Author: Michael Buesch Date: Thu Sep 27 21:34:23 2007 +0200 [RFKILL]: Add support for hardware-only rfkill buttons Buttons that work directly on hardware cannot support the "user_claim" functionality. Add a flag to signal this and return -EOPNOTSUPP in this case. b43 is such a device. Signed-off-by: Michael Buesch Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 135900c182c321a4888ec496b014e6707272faca Author: Michael Buesch Date: Thu Sep 27 21:33:12 2007 +0200 [RFKILL]: Add support for an rfkill LED. This adds a LED trigger. Signed-off-by: Michael Buesch Acked-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 937a049dd903bd810d858d0303cf86af9eb08b6f Author: Ulrich Kunitz Date: Tue Oct 2 18:36:53 2007 +0100 [ZD1211RW]: Removed zd_util.c and zd_util.h The kernel now provides a generic hexdump implementation should we need it again, so we can remove it from zd1211rw. After removing that, only one single-user function is left in zd_util. Move that to zd_mac and remove zd_util. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 09703f5e79a64c744721b9c27502075232ba0ea2 Author: Daniel Drake Date: Wed Sep 26 21:45:24 2007 +0100 [HOSTAP]: set netdev type before registering AP interface As detailed at https://bugs.gentoo.org/159646 hostap with hostapd confuses udev by presenting 2 interfaces with the same MAC address. Also, at the time of detection, the 'type' attribute is 1, identical to other hostap interfaces. The AP interface is supposed to have type ARPHRD_IEEE80211 (801), but this is not set until after registration. Setting it before register_netdev() is called allows us to avoid this confusion. We can do this by propogating the HOSTAP_INTERFACE type through to hostap_setup_dev(). Signed-off-by: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f74347d7ac0aa175b2bbd85eb58a13fbe80a3785 Author: Michael Chan Date: Tue Oct 2 16:28:09 2007 -0700 [BNX2]: Update version to 1.6.6. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ea1f8d5c3a593a791463c2efc07e5dfebd056500 Author: Michael Chan Date: Tue Oct 2 16:27:35 2007 -0700 [BNX2]: Optimize firmware loading. This is a follow up to the patches from Denys Vlasenkos to further optimize firmware loading. 1. In bnx2_init_cpus(), we allocate memory for decompression once and use it repeatedly instead of doing this for every firmware image. 2. We eliminate the BSS and SBSS firmware sections in bnx2_fw*.h since these are always zeros. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit dad8c737962669240470923f951570ed716da1a1 Author: Komuro Date: Sun Sep 30 10:28:14 2007 +0900 PCMCIA-NETDEV : add new id (axnet_cs, pcnet_cs) axnet_cs: Laneed LD-CDK/TX pcnet_cs: LEMEL LM-N89TX PRO Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 18ad4e700647a9f727fa82a7f8d1f31444abbdfb Author: Nobuhiro Iwamatsu Date: Wed Sep 19 21:07:52 2007 +0900 smc91x Hitachi Solution Engine (SuperH) Support Hi, all. This patch supports Hitachi Solution Engine (SuperH) of smc91x. Please apply this patch . regards, Nobuhiro -- Nobuhiro Iwamatsu E-Mail : iwamatsu@nigauri.org GPG ID : 3170EBE9 Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Jeff Garzik commit 726d722e41f1c329b7f04c5ee5aef02a60ac1991 Author: Markus Brunner Date: Mon Aug 20 08:36:50 2007 +0200 smc911x irq sense request and MPR2 board support Hi, this are the changes to the smc911x driver, which were necessary to get it running on the Magic Panel R2 (smsc9115). It is a SH3-DSP based board. The other patches are available on the linuxsh-dev mailinglist. http://marc.info/?l=linuxsh-dev&r=1&b=200708&w=2 It was necessary to set the irq sense to low level. Therefor the SMC_IRQ_SENSE define was added. How are the chances for inclusion in 2.6.24? Signed-off by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Jeff Garzik commit 2c69448bbcedebeb8409ddb05fbc7d3fe1cfbda7 Author: Jan-Bernd Themann Date: Mon Oct 1 16:33:18 2007 +0200 ehea: DLPAR memory add fix Due to stability issues in high load situations the HW queue handling has to be changed. The HW queues are now stopped and restarted again instead of destroying and allocating new HW queues. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 31a5bb04d59931eb4657826213a439d37d12d4a9 Author: Scott Wood Date: Mon Oct 1 14:20:58 2007 -0500 fs_enet: sparse fixes Mostly a bunch of __iomem annotations. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 2b5b3a604a672be1d41728ed9e448ca3c9c23242 Author: Scott Wood Date: Mon Oct 1 14:20:57 2007 -0500 fs_enet: Convert mii-bitbang to use the generic bitbang MDIO code. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit e2ec4581adf7e288c193e981c39ca01cdb20a272 Author: Scott Wood Date: Mon Oct 1 14:20:56 2007 -0500 Generic bitbanged MDIO library Previously, bitbanged MDIO was only supported in individual hardware-specific drivers. This code factors out the higher level protocol implementation, reducing the hardware-specific portion to functions setting direction, data, and clock. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 976de6a8c304dcc43e38efcb8a0bace7866b6242 Author: Scott Wood Date: Tue Oct 2 10:55:58 2007 -0500 fs_enet: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set. The existing OF glue code was crufty and broken. Rather than fix it, it will be removed, and the ethernet driver now talks to the device tree directly. The old, non-CONFIG_PPC_CPM_NEW_BINDING code can go away once CPM platforms are dropped from arch/ppc (which will hopefully be soon), and existing arch/powerpc boards that I wasn't able to test on for this patchset get converted (which should be even sooner). Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 0d0d9c150c046cbd3e507adcfa2d78db82f1f452 Author: Scott Wood Date: Mon Oct 1 14:20:52 2007 -0500 fs_enet: Align receive buffers. At least some hardware driven by this driver needs receive buffers to be aligned on a 16-byte boundary. This usually happens by chance, but it breaks if slab debugging is enabled. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit c6565331b7162a8348c70c37b4c33bedb6d4f02d Author: Scott Wood Date: Mon Oct 1 14:20:50 2007 -0500 fs_enet: mac-fcc: Eliminate __fcc-* macros. These macros accomplish nothing other than defeating type checking. This patch also fixes one instance of the wrong register size being used that was revealed by enabling type checking. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit b7336d3d886aaab6971773864c477210ef9b995a Author: Scott Wood Date: Mon Oct 1 14:20:49 2007 -0500 fs_enet: Include linux/string.h from linux/fs_enet_pd.h It is needed for strstr(). Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 0fb300fa9d54118c6dce772a29362d896775eff2 Author: Scott Wood Date: Mon Oct 1 14:20:17 2007 -0500 fs_enet: Whitespace cleanup. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 3de96471bd7fb76406e975ef6387abe3a0698149 Author: Ilpo Järvinen Date: Mon Oct 1 15:28:48 2007 -0700 [TCP]: Wrap-safed reordering detection FRTO check In case somebody has a suggestion about a better place for this check, which must guarantee execution "early enough" (i.e, before the wrap can occur), I'm very open to them. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0e835331e3111e5a92eb3a852405ea71ca8fff97 Author: Ilpo Järvinen Date: Mon Oct 1 15:28:17 2007 -0700 [TCP]: Update comment of SACK block validator Just came across what RFC2018 states about generation of valid SACK blocks in case of reneging. Alter comment a bit to point out clearly. IMHO, there isn't any reason to change code because the validation is there for a purpose (counters will inform user about decision TCP made if this case ever surfaces). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 95eacd27e2a0924f1435654c06712cee6be099ad Author: Ilpo Järvinen Date: Mon Oct 1 15:27:42 2007 -0700 [TCP]: fix comments that got messed up during code move Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit dc86967b54aaf64fb053cce83c05a4476d48583b Author: Ilpo Järvinen Date: Mon Oct 1 15:27:19 2007 -0700 [TCP]: No fackets_out/highest_sack tuning when SACK isn't enabled This was found due to bug report from Cedric Le Goater though it turned this turned out to be unrelated bug. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8336793baf962163c9fab5a3f39614295fdbab27 Author: Denys Vlasenko Date: Sun Sep 30 17:56:49 2007 -0700 [ZLIB]: Move bnx2 driver gzip unpacker into zlib. Signed-off-by: Denys Vlasenko Acked-by: Michael Chan Signed-off-by: David S. Miller commit b3448b0bde5f1a858397fe791f76632e978a1dc8 Author: Denys Vlasenko Date: Sun Sep 30 17:55:51 2007 -0700 [BNX2]: factor out gzip unpacker This patch modifies gzip unpacking code in bnx2 driver so that it does not depend on bnx2 internals. I will move this code out of the driver and into zlib in follow-on patch. It can be useful in other drivers which need to store firmwares or any other relatively big binary blobs - fonts, cursor bitmaps, whatever. Patch is run tested by Michael Chan (driver author). Signed-off-by: Denys Vlasenko Acked-by: Michael Chan Signed-off-by: David S. Miller commit 89e536a190f90d038bae7905a0c582cb7089b739 Author: Magnus Damm Date: Fri Sep 28 22:42:16 2007 -0700 ax88796: add 93cx6 eeprom support Hook up the 93cx6 eeprom code to the ax88796 driver and modify the ax88796 driver to read out the mac address from the eeprom. We need this for the ax88796 on certain SuperH boards. The pin configuration used to connect the eeprom to the ax88796 on these boards is the same as pointed out by the ax88796 datasheet, so we can probably reuse this code for multiple platforms in the future. Signed-off-by: Magnus Damm Cc: Ben Dooks Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6daf65310374d24d888201b7a6eba90b44008b7b Author: Maciej W. Rozycki Date: Fri Sep 28 22:42:15 2007 -0700 PHYLIB: fix an interrupt loop potential when halting Ensure the PHY_HALTED state is not entered with the IRQ asserted as it could lead to an interrupt loop. There is a small window in phy_stop(), where the state of the PHY machine indicates it has been halted, but its interrupt output might still be unmasked. If an interrupt goes active right at this moment it will loop as the phy_interrupt() handler exits immediately with IRQ_NONE if the halted state is seen. It is unsafe to extend the phydev spinlock to cover phy_interrupt(). It is safe to swap the order of the actions though as all the competing places to unmask the interrupt output of the PHY, which are phy_change() and phy_timer() are already covered with the lock as is the sequence in question. Signed-off-by: Maciej W. Rozycki Cc: Andy Fleming Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0ac49527318bc388a881152d60f49d7951606024 Author: Maciej W. Rozycki Date: Fri Sep 28 22:42:14 2007 -0700 PHYLIB: IRQ event workqueue handling fixes Keep track of disable_irq_nosync() invocations and call enable_irq() the right number of times if work has been cancelled that would include them. Now that the call to flush_work_keventd() (problematic because of rtnl_mutex being held) has been replaced by cancel_work_sync() another issue has arisen and been left unresolved. As the MDIO bus cannot be accessed from the interrupt context the PHY interrupt handler uses disable_irq_nosync() to prevent from looping and schedules some work to be done as a softirq, which, apart from handling the state change of the originating PHY, is responsible for reenabling the interrupt. Now if the interrupt line is shared by another device and a call to the softirq handler has been cancelled, that call to enable_irq() never happens and the other device cannot use its interrupt anymore as its stuck disabled. I decided to use a counter rather than a flag because there may be more than one call to phy_change() cancelled in the queue -- a real one and a fake one triggered by free_irq() if DEBUG_SHIRQ is used, if nothing else. Therefore because of its nesting property enable_irq() has to be called the right number of times to match the number disable_irq_nosync() was called and restore the original state. This DEBUG_SHIRQ feature is also the reason why free_irq() has to be called before cancel_work_sync(). While at it I updated the comment about phy_stop_interrupts() being called from `keventd' -- this is no longer relevant as the use of cancel_work_sync() makes such an approach unnecessary. OTOH a similar comment referring to flush_scheduled_work() in phy_stop() still applies as using cancel_work_sync() there would be dangerous. Checked with checkpatch.pl and at the run time (with and without DEBUG_SHIRQ). Signed-off-by: Maciej W. Rozycki Cc: Andy Fleming Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f7ab697d328b0a417d9e3cb891d45693ea89e83d Author: Ed Swierk Date: Fri Sep 28 22:42:13 2007 -0700 forcedeth: "no link" is informational Log "no link during initialization" at KERN_INFO as it's not an error, and occurs every time the interface comes up (when the forcedeth-phy-power-down patch is applied). Signed-off-by: Ed Swierk Cc: Ayaz Abdulla Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9ff8c68b3c722f732c7a13d6631b149cca8c7091 Author: Maciej W. Rozycki Date: Fri Sep 28 22:42:12 2007 -0700 PHYLIB: Spinlock fixes for softirqs Use spin_lock_bh()/spin_unlock_bh() for the phydev lock throughout as it is used in phy_timer() that is called as a softirq and all the other operations may happen in the user context. There has been a change recently that did such a conversion for some of the operations on the lock, but some have been left intact. Many of them, perhaps all, may be called in the user context and I was able to trigger recursive spinlock acquisition indeed, so I think for the sake of long-term maintenance it is best to convert them all, even if unnecessarily for one or two -- better safe than sorry. Perhaps one in phy_timer() could actually be skipped as only called as a softirq -- I can send an update if that sounds like a good idea. Checked with checkpatch.pl and at the runtime. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 1f8f4559f8c5829348a010a9e0bbb423310060d1 Author: Micah Gruber Date: Fri Sep 28 22:42:11 2007 -0700 Fix a potential NULL pointer dereference in uli526x_interrupt() in drivers/net/tulip/uli526x.c This patch fixes an apparent potential null dereference bug where we dereference dev before a null check. This patch simply remvoes the can't-happen test for a null pointer. Signed-off-by: Micah Gruber Cc: Grant Grundler Acked-by: Jeff Garzik Acked-by: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 13f7b8c011cd8d16ad3063409b9d969466c9e2f4 Author: Mariusz Kozlowski Date: Fri Sep 28 22:42:10 2007 -0700 skge: remove broken and unused PHY_M_PC_MDI_XMODE macro Signed-off-by: Mariusz Kozlowski Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit bcfef8c3681fa59b653871682956a8fdf5c27c5a Author: Jesper Juhl Date: Fri Sep 28 22:42:09 2007 -0700 Avoid possible NULL pointer deref in 3c359 driver In xl_freemem(), if dev_if is NULL, the line struct xl_private *xl_priv =(struct xl_private *)dev->priv; will cause a NULL pointer dereference. (akpm: don't try to fix it: just delete the pointless test-for-null) Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0da18e3883d18ac716ad8cc07df9bd30933807ac Author: Adrian Bunk Date: Fri Sep 28 22:42:06 2007 -0700 drivers/net/cxgb3/xgmac.c: remove dead code This patch removes dead code ("tx_xcnt" can never be != 0 at this place) spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 007755eb86c3953bb8615bd016246fc99056580c Author: Peter Oruba Date: Fri Sep 28 22:42:06 2007 -0700 PCI-X/PCI-Express read control interfaces: use them in e1000 These driver changes incorporate the proposed PCI-X / PCI-Express read byte count interface. Reading and setting those valuse doesn't take place "manually", instead wrapping functions are called to allow quirks for some PCI bridges. Signed-off by: Peter Oruba Based on work by Stephen Hemminger Acked-by: Auke Kok Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7c32f470f4f6a0fdc6944cefcd22f288e59a0ae2 Author: Vitaly Bordug Date: Fri Aug 10 14:05:16 2007 -0700 PHY fixed driver: rework release path and update phy_id notation device_bind_driver() error code returning has been fixed. release() function has been written, so that to free resources in correct way; the release path is now clean. Before the rework, it used to cause Device 'fixed@100:1' does not have a release() function, it is broken and must be fixed. BUG: at drivers/base/core.c:104 device_release() Call Trace: [] kobject_cleanup+0x53/0x7e [] kobject_release+0x0/0x9 [] kref_put+0x74/0x81 [] fixed_mdio_register_device+0x230/0x265 [] fixed_init+0x1f/0x35 [] init+0x147/0x2fb [] schedule_tail+0x36/0x92 [] child_rip+0xa/0x12 [] acpi_ds_init_one_object+0x0/0x83 [] init+0x0/0x2fb [] child_rip+0x0/0x12 Also changed the notation of the fixed phy definition on mdio bus to the form of + to make it able to be used by gianfar and ucc_geth that define phy_id strictly as "%d:%d" and cleaned up the whitespace issues. Signed-off-by: Vitaly Bordug Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit cdcc520d7b73445c3552a70786afed9a2b22c010 Author: Chris Snook Date: Thu Sep 20 15:57:15 2007 -0400 atl1: explain 32-bit DMA restriction Document the fact that atl1 uses a single shared register for the high 32 bits of 64-bit DMA addresses, making 64-bit DMA more trouble than it's worth. Signed-off-by: Chris Snook Signed-off-by: Jeff Garzik commit 01faccbf866195831af202de59f37e29467a3d74 Author: Stephen Hemminger Date: Fri Aug 24 14:40:45 2007 -0700 via-velocity: more cleanup Per Al's suggestion, get rid of the stupid stuff: Remove cam_type switch, And deinline things that aren't important for speed. And make big macro and inline. And remove some dead/unused code. And use const char * for chip name. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 501e4d247a7e35a4d3aa8e6973794b1586f6cb30 Author: Stephen Hemminger Date: Fri Aug 24 13:56:49 2007 -0700 via-velocity: use standard VLAN interface (resend) The via-velocity is using a non-standard VLAN interface configured via module parameters (yuck). Replace with the standard acceleration interface. It solves a number of problems with being able to handle multiple vlans, and dynamically reconfigure. This is compile tested only, don't have this board. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f5279ffdce9bcff938451303126971098e23aab3 Author: Maciej W. Rozycki Date: Fri Sep 21 12:52:10 2007 +0100 sb1250-mac: Driver model & phylib update A driver model and phylib update. It includes the following changes: 1. Removal of unused module options. 2. Phylib support and the resulting removal of generic bits for handling the PHY. 3. Proper reserving of device resources and using ioremap()ped handles to access MAC registers rather than platform-specific macros. 4. Handling of the device using the driver model. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 73d7396980176a5f4515be2f6e39ee417d2369ba Author: Maciej W. Rozycki Date: Thu Sep 20 19:14:01 2007 +0100 sb1250-mac.c: De-typedef, de-volatile, de-etc... Remove typedefs, volatiles and convert kmalloc()/memset() pairs to kcalloc(). Also reformat the surrounding clutter. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit ac1d49f8431bef861c7dd63e78be25e4c262eb52 Author: Jeff Garzik Date: Sat Sep 29 01:10:14 2007 -0400 [netdrvr] sundance: fix phy scanning on IP100A Based on a based from Jesse Huang . Signed-off-by: Jeff Garzik commit 7b5dfe1aa9faf9fab10960e027a7b1c932580f76 Author: Krishna Kumar Date: Fri Sep 21 09:41:15 2007 -0700 e1000e: Do not allow requeue of freed skb Returning BUSY will make qdisc_restart enqueue the skb which was already freed. The bad skb was correctly freed and we should return NETDEV_TX_OK. First spotted by Jeff Garzik on 08/13/07. Signed-off-by: Krishna Kumar Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 7a1f8104c4a477feaf8b4405429119276341a27e Author: Roy Zang Date: Mon Sep 24 16:57:42 2007 +0800 Clean up redundant PHY write line for ULi526x Ethernet driver Clean up redundant PHY write line for ULi526x Ethernet Driver. Signed-off-by: Roy Zang Signed-off-by: Jeff Garzik commit c7e86e344b3599c0679a4a1f59a27953856f181c Author: Nathanael Nerode Date: Wed Sep 26 18:14:45 2007 -0700 dgrs: remove from build, config, and maintainer list Stop building and configuring driver for Digi RightSwitch, which was never actually sold to anyone, and remove it from MAINTAINERS. In response to an investigation into the firmware of the "Digi Rightswitch" driver, Andres Salomon discovered: > > Dear Andres: > > After further research, we found that this product was killed in place > and never reached the market. We would like to request that this not be > included. Since the product never reached market, clearly nobody is using this orphaned driver. Signed-off-by: Nathanael Nerode Cc: "David S. Miller" Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 928773c23a4cf053a34ad480439448f75efa350c Author: Olof Johansson Date: Wed Sep 26 16:25:06 2007 -0500 pasemi_mac: pass in count of buffers to replenish rx ring with pasemi_mac: pass in count of buffers to replenish rx ring with Refactor replenish_rx_ring to take an argument for how many entries to fill. Since it's normally available from where it's called anyway, this is just simpler. It also removes the awkward logic to try to figure out if we're filling for the first time or not. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 36033766533176d61ba15793d8ef219775499c2f Author: Olof Johansson Date: Wed Sep 26 16:24:42 2007 -0500 pasemi_mac: don't enable rx before there are buffers on the ring pasemi_mac: don't enable rx before there are buffers on the ring Reorder initialization of the DMA channels and the interface. Before there was a time window when the interface was enabled before DMA was enabled. Also, now there will always be RX buffers available at the time the MAC interface is enabled, to avoid temporary out-of-buffer errors for the very first packets (on busy networks). Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit ca7e235f5eb960d83b45cef4384b490672538cd9 Author: Olof Johansson Date: Wed Sep 26 16:23:59 2007 -0500 pasemi_mac: flags as passed to spin_*_irqsave() should be unsigned long pasemi_mac: flags as passed to spin_*_irqsave() should be unsigned long. Signed-off-by: Tony Breeds Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 6a290e3d5d48e8932fae068a558b3d8dff4c7acf Author: Olof Johansson Date: Wed Sep 26 16:23:31 2007 -0500 pasemi_mac: set interface speed correctly on XAUI ports pasemi_mac: set interface speed correctly on XAUI ports Set interface speed for XAUI to 10G per default, not 1G. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit de90351219a1f1fd3cb45cf6fcc4e9d6407fd2c9 Author: Roland Dreier Date: Fri Sep 28 15:33:51 2007 -0700 [IPoIB]: Convert to netdevice internal stats Use the stats member of struct netdevice in IPoIB, so we can save memory by deleting the stats member of struct ipoib_dev_priv, and save code by deleting ipoib_get_stats(). Signed-off-by: Roland Dreier Signed-off-by: David S. Miller commit 587117414909e9c52f50e3c9d1f85b3dc1815d75 Author: Joseph Fannin Date: Fri Sep 28 14:47:32 2007 -0700 [NETFILTER]: bridge: remove broken netfilter binary sysctls The netfilter sysctls in the bridging code don't set strategy routines: sysctl table check failed: /net/bridge/bridge-nf-call-arptables .3.10.1 Missing strategy sysctl table check failed: /net/bridge/bridge-nf-call-iptables .3.10.2 Missing strategy sysctl table check failed: /net/bridge/bridge-nf-call-ip6tables .3.10.3 Missing strategy sysctl table check failed: /net/bridge/bridge-nf-filter-vlan-tagged .3.10.4 Missing strategy sysctl table check failed: /net/bridge/bridge-nf-filter-pppoe-tagged .3.10.5 Missing strategy These binary sysctls can't work. The binary sysctl numbers of other netfilter sysctls with this problem are being removed. These need to go as well. Signed-off-by: Joseph Fannin Acked-by: "Eric W. Biederman" Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ee4411a1b1e0b679c99686629b5eab5a072ce49f Author: Jan Engelhardt Date: Fri Sep 28 14:46:43 2007 -0700 [NETFILTER]: x_tables: add xt_time match This is ipt_time from POM-ng enhanced by the following: * xtables/ipv6 support * second granularity for daytime * day-of-month support (for example "match on the 15th of each month") * match against UTC or local timezone Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6b6ec99a03601aba0419f34e17630f7aa8d68e5f Author: Michal Miroslaw Date: Fri Sep 28 14:45:52 2007 -0700 [NETFILTER]: nfnetlink_log: fix some constants Fix timeout (one second is 1 * HZ) and convert max packet copy length to #defined constant. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit aace57e054e9322e20af52cede7de46ade64a5e2 Author: Michal Miroslaw Date: Fri Sep 28 14:45:27 2007 -0700 [NETFILTER]: nfnetlink_log: fix instance_create() failure path Fix memory leak on instance_create() while module is being unloaded. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c6a8f648362a5d8b934f4267b0ab9f255c130ab0 Author: Michal Miroslaw Date: Fri Sep 28 14:45:06 2007 -0700 [NETFILTER]: nfnetlink_log: fix style Fix function definition style to match other functions in nfnetlink_log.c. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d63b043d955c261f4f413eecf6e0488d7459acd4 Author: Michal Miroslaw Date: Fri Sep 28 14:44:44 2007 -0700 [NETFILTER]: nfnetlink_log: flush queue early If queue is filled to its threshold, then flush it right away instead of waiting for timer or next packet. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e35670614d10588fb9c6ed32ecd55b8242e98872 Author: Michal Miroslaw Date: Fri Sep 28 14:44:21 2007 -0700 [NETFILTER]: nfnetlink_log: kill duplicate code Kill some cut'n'paste effect. Just after __nfulnl_send() returning, inst->skb is always NULL. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5faa1f4cb5a1f124f76172d775467f4a9db5b452 Author: Pablo Neira Ayuso Date: Fri Sep 28 14:43:53 2007 -0700 [NETFILTER]: nf_conntrack_netlink: add support to related connections This patch adds support to relate a connection to an existing master connection. This patch is used by conntrackd to correctly replicate related connections. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3583240249ef354760e04ae49bd7b462a638f40c Author: Patrick McHardy Date: Fri Sep 28 14:41:50 2007 -0700 [NETFILTER]: nf_conntrack_expect: kill unique ID Similar to the conntrack ID, the per-expectation ID is not needed anymore, kill it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7f85f914721ffcef382a57995182916bd43d8a65 Author: Patrick McHardy Date: Fri Sep 28 14:41:27 2007 -0700 [NETFILTER]: nf_conntrack: kill unique ID Remove the per-conntrack ID, its not necessary anymore for dumping. For compatiblity reasons we send the address of the conntrack to userspace as ID. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2b5c841f2c41c023809e3b6b95a8320246cf7f5a Author: Patrick McHardy Date: Fri Sep 28 14:40:56 2007 -0700 [NETFILTER]: nfnetlink: kill nlattr_bad_size Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f73e924cdd166360e8cc9a1b193008fdc9b3e3e2 Author: Patrick McHardy Date: Fri Sep 28 14:39:55 2007 -0700 [NETFILTER]: ctnetlink: use netlink policy Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5bf758539388fa9383afd539d052ae93229544b9 Author: Patrick McHardy Date: Fri Sep 28 14:39:26 2007 -0700 [NETFILTER]: nfnetlink_queue: use netlink policy Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fd8281adacd2ed68a92e7aa9dde239181f40ee15 Author: Patrick McHardy Date: Fri Sep 28 14:39:09 2007 -0700 [NETFILTER]: nfnetlink_log: use netlink policy Also remove unused nfula_min array. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e3730578285fcf0c628f08b0dc89425cfeafd4ba Author: Patrick McHardy Date: Fri Sep 28 14:38:52 2007 -0700 [NETFILTER]: nfnetlink: support attribute policies Add support for automatic checking of per-callback attribute policies. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dd82185f2c55e9dc2247c83d78517ef14e71d30e Author: Patrick McHardy Date: Fri Sep 28 14:38:07 2007 -0700 [NETFILTER]: nfnetlink: use nlmsg_notify() Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fdf708322d4658daa6eb795d1a835b97efdb335e Author: Patrick McHardy Date: Fri Sep 28 14:37:41 2007 -0700 [NETFILTER]: nfnetlink: rename functions containing 'nfattr' There is no struct nfattr anymore, rename functions to 'nlattr'. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df6fb868d6118686805c2fa566e213a8f31c8e4f Author: Patrick McHardy Date: Fri Sep 28 14:37:03 2007 -0700 [NETFILTER]: nfnetlink: convert to generic netlink attribute functions Get rid of the duplicated rtnetlink macros and use the generic netlink attribute functions. The old duplicated stuff is moved to a new header file that exists just for userspace. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c8d4cb4198d199e65a6ced8c81f71e3ac3f4cfc Author: Patrick McHardy Date: Fri Sep 28 14:15:45 2007 -0700 [NETFILTER]: nfnetlink: make subsystem and callbacks const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 169e36742572934f5d846cfa5f9d76e72d505db4 Author: Eric W. Biederman Date: Thu Sep 27 17:10:06 2007 -0700 [NETNS]: CLONE_NEWNET don't use the same clone flag as the pid namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 9e0db4b12c7deda532ad13d37a84ee41dd691066 Author: Eric W. Biederman Date: Thu Sep 27 17:09:39 2007 -0700 [NET]: Bring comments in loopback.c uptodate. A hint as to why it is safe to use per cpu variables, and note that we actually can have multiple instances of the loopback device now. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit fe242cfd3390b1c7d54d60f7ebb6a4054804cd41 Author: Ivo van Doorn Date: Thu Sep 27 14:57:05 2007 -0700 [RFKILL]: Move rfkill_switch_all out of global header rfkill_switch_all shouldn't be called by drivers directly, instead they should send a signal over the input device. To prevent confusion for driver developers, move the function into a rfkill private header. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit a50e2e3f3e6303e893c4c438c0692d459d7093a5 Author: John W. Linville Date: Thu Sep 27 17:00:29 2007 -0400 [PATCH] iwlwifi: fix imcomplete conversion to print_mac API Signed-off-by: John W. Linville commit 61f622532371985ec46b9684179152735a80f7e0 Author: Zhu Yi Date: Thu Sep 27 11:27:44 2007 +0800 [PATCH] iwlwifi: Update iwlwifi version stamp to 1.1.17 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0209dc11c769f51f037a17a4ea7bed43eaee998c Author: Zhu Yi Date: Thu Sep 27 11:27:43 2007 +0800 [PATCH] iwlwifi: add debugfs rate scale stats This patch adds rates scale statistics to debugfs: $ cat /sys/kernel/debug/ieee80211/phy/stations//rate_stats_table Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 98d7e09af513da19389128f23d49893b11de81fa Author: Zhu Yi Date: Thu Sep 27 11:27:42 2007 +0800 [PATCH] iwlwifi: set fixed rate through debugfs This patch adds fixed rate setting through debugfs $ echo > \ /sys/kernel/debug/ieee80211/phy/stations//rate_scale_table Currently there is no way to turn to rate scaling working again. Will be fixed in later. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1b696de23bb21b89f4a4c4fd6b12e26fe2cc4a37 Author: Zhu Yi Date: Thu Sep 27 11:27:41 2007 +0800 [PATCH] iwlwifi: rs_rate_scale_perform clean up This patch cleans up rs_rate_scale_perform function. It removes dead code, shortens variable names and removes useless return i.e. function now returns void. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 02dede04f280a2ea249025414ddb4b1da1fca770 Author: Zhu Yi Date: Thu Sep 27 11:27:40 2007 +0800 [PATCH] iwlwifi: add supp_rates to rate scale sta private data This patch adds supp_rate bit mask to rate scale sta private data structre and thus removes sta from the argument list in helper functions. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 588263515fecd926ea82950e5b7752b8696b595c Author: Zhu Yi Date: Thu Sep 27 11:27:39 2007 +0800 [PATCH] iwlwifi: limit printouts on hot path This patch change printouts on TX path to the net_ratelimit version. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5ae212c9273deb417bcc458d1dfb54ef880e5516 Author: Zhu Yi Date: Thu Sep 27 11:27:38 2007 +0800 [PATCH] iwlwifi: add read rate scale table debugfs function This patch adds read rate scale table debugfs function for 4965 rate scaling module. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 93dc646adb94127ca1c2e74275a85265ec57b9af Author: Zhu Yi Date: Thu Sep 27 11:27:37 2007 +0800 [PATCH] iwlwifi: add debugfs framework to rate scale This patch adds debugfs handler to rate scale algorithms. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 63fddb9f7f65b41277043344ae0d24dbbb451ada Author: Zhu Yi Date: Thu Sep 27 11:27:36 2007 +0800 [PATCH] iwlwifi: removing unnecessary memset in 4965 rate scale This patch removes redundant memset in rate scale. In rs_alloc_sta, kzalloc is used so the memset can be avoided. In rs_rate_init, it is a bug fix since it overrides everything set in other handlers namely add_debugfs. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c14c521e440a6a83835a2879a4c5f4311b1df68f Author: Zhu Yi Date: Thu Sep 27 11:27:35 2007 +0800 [PATCH] iwlwifi: fix add_station to avoid FW error There were a few Firmware errors reported the most reproducible http://bughost.org/bugzilla/show_bug.cgi?id=1471 The root cause is rate_n_flags isn't set anymore. This patch fixes the problem. Signed-off-by: Ian Schram Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 46640a8ccebee34bd16b1af672feaa7dc320f3f6 Author: Zhu Yi Date: Thu Sep 27 11:27:34 2007 +0800 [PATCH] iwlwifi: Fix typo in rate sacling algorithm This patch fixes tiny typo in 4965 rate sacling algorithm Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 556f8db74809a435195c840f495fd1bf855dfadb Author: Zhu Yi Date: Thu Sep 27 11:27:33 2007 +0800 [PATCH] iwlwifi: clear station table in rxon unconditionally This patch clears stations table for every rxon command. It removes iwl_rxon_add_station function in 3945. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e1493deb74d22b005769e6ecbd24a00106941c6c Author: Zhu Yi Date: Thu Sep 27 11:27:32 2007 +0800 [PATCH] iwlwifi: Correction for sending beacon in config_ap This patch takes out sending beacon from conditional in config_ap function. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit cfe01709871cccf711c70a970bfc1a8d7bd13f84 Author: Zhu Yi Date: Thu Sep 27 11:27:31 2007 +0800 [PATCH] iwlwifi: workaournd REPLY_COMPRESSED_BA command in iwl_rx_handle Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 583fab37da52199a8b1ea30d9c39dc95f1ead24f Author: Zhu Yi Date: Thu Sep 27 11:27:30 2007 +0800 [PATCH] iwlwifi: replacing IPW with IWL in error messages This patch repaces IPW with IWL in error messages. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 279632be3f546f4d88bdb086fa71479bcde9d641 Author: Michael Buesch Date: Thu Sep 27 14:42:42 2007 +0200 [PATCH] rfkill: Fix documentation typos Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 30ccb08847c2d89e1cf893bf5f3155c023a9d142 Author: Michael Buesch Date: Wed Sep 26 21:08:47 2007 +0200 [PATCH] mac80211: bss_tim_clear must use ~ instead of ! We need to use bitwise NOT. This also cleans up the code a little bit to make it more readable. Signed-off-by: Michael Buesch Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit b4010e08907bdafe8bf4a3fe7ef9b52ddec4dda5 Author: Johannes Berg Date: Wed Sep 26 15:19:50 2007 +0200 [PATCH] mac80211: remove generic IE for AP interfaces This is not useful since we do not support probe response offload to hardware at this time and beacons are set in another way. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51617f0b76389b29740aa9d7736df99b75d1d9ec Author: Johannes Berg Date: Wed Sep 26 15:19:48 2007 +0200 [PATCH] mac80211: remove all prism2 ioctls This patch removes all prism2 ioctls. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 53918994b7c8c3bf0af5f641e1f299856799d883 Author: Johannes Berg Date: Wed Sep 26 15:19:47 2007 +0200 [PATCH] mac80211: fix iff_promiscs, iff_allmultis race When we update the counters iff_promiscs and iff_allmultis in struct ieee80211_local we have no common lock held to protect them. The problem is that the update to each counter may not be atomic, so we could end up with iff_promiscs == -1 in unfortunate conditions. To fix it, use atomic_t values. It doesn't matter whether the two counters are updated together atomically or not, if there are two invocations of set_multicast_list we will end up with multiple configure_filter() invocations of which the latter will always be correct. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 50741ae05a4742cae99361f57d84b5f8d33822a4 Author: Johannes Berg Date: Wed Sep 26 15:19:45 2007 +0200 [PATCH] mac80211: fix TKIP IV update The TKIP IV should be updated only after MMIC verification, this patch changes it to be at that spot. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fb1c1cd6c5a8988b14c5c6c0dfe55542df3a34c6 Author: Johannes Berg Date: Wed Sep 26 15:19:43 2007 +0200 [PATCH] mac80211: fix vlan bug VLAN interfaces have yet another bug: they aren't accounted for properly in the receive path in prepare_for_handlers(). I noticed this by code inspection, but it would be easy for the compiler to catch such things if we'd just use the proper enum where appropriate. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit af1a90da397f071d7ee893145a1e7b2124689376 Author: Johannes Berg Date: Wed Sep 26 15:19:42 2007 +0200 [PATCH] mac80211: remove ieee80211_wep_get_keyidx This function is not used any more. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6a22a59d487e7fe509b457b72497593e402911c0 Author: Johannes Berg Date: Wed Sep 26 15:19:41 2007 +0200 [PATCH] mac80211: consolidate encryption Currently we run through all crypto handlers for each transmitted frame although we already know which one will be used. This changes the code to invoke only the needed handler. It also moves the wep code into wep.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f0d18e26f8bc4c6507b69aa0080d0fae807c990 Author: Johannes Berg Date: Wed Sep 26 15:19:40 2007 +0200 [PATCH] mac80211: consolidate decryption Currently, we run through all three crypto algorithms for each received frame even though we have previously determined which key we have and as such already know which algorithm will be used. Change it to invoke only the needed function. Also move the WEP decrypt handler to wep.c so that fewer functions need to be non-static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b2e7771e556917cc301a3308561f49b2b2272c07 Author: Johannes Berg Date: Wed Sep 26 15:19:39 2007 +0200 [PATCH] mac80211: pass frames to monitor interfaces early This makes mac80211 pass all frames to monitor interfaces early before all receive processing with the benefit that only a single copy needs to be made, all monitors can receive clones of the skb and if the frame will be discarded we don't even need to make a single copy. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5b2812e925c8e976852867f8d760637c5926d817 Author: Johannes Berg Date: Wed Sep 26 14:27:23 2007 +0200 [PATCH] mac80211: fix interface initialisation and deinitialisation When an interface is registered it is still uninitialised so ieee80211_if_reinit() can't be called on it (it will oops.) Hence, we need to move the uninit method assignment. Also, this patch fixes the bug that the master device is never initialised nor deinitialised at all. Oddly, the deinit code had an if statement to not run some code when running for the master interface (which never happened), but that if statement is also wrong. Fix that too. Now that the uninit code is run for the master device, another bug surfaced: it tries to remove all dependent interfaces and that oopses or BUGs at some point, either because it unregisters already unregistered interfaces (missing list_del bug) or due to trying to iterate a list that has had other things removed. Fix this too by handling the master interface specially. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b4219952356baa162368f2f5dab6421a5dbc5e15 Author: Herbert Xu Date: Thu Sep 27 12:48:05 2007 -0700 [PKT_SCHED]: Add stateless NAT Stateless NAT is useful in controlled environments where restrictions are placed on through traffic such that we don't need connection tracking to correctly NAT protocol-specific data. In particular, this is of interest when the number of flows or the number of addresses being NATed is large, or if connection tracking information has to be replicated and where it is not practical to do so. Previously we had stateless NAT functionality which was integrated into the IPv4 routing subsystem. This was a great solution as long as the NAT worked on a subnet to subnet basis such that the number of NAT rules was relatively small. The reason is that for SNAT the routing based system had to perform a linear scan through the rules. If the number of rules is large then major renovations would have take place in the routing subsystem to make this practical. For the time being, the least intrusive way of achieving this is to use the u32 classifier written by Alexey Kuznetsov along with the actions infrastructure implemented by Jamal Hadi Salim. The following patch is an attempt at this problem by creating a new nat action that can be invoked from u32 hash tables which would allow large number of stateless NAT rules that can be used/updated in constant time. The actual NAT code is mostly based on the previous stateless NAT code written by Alexey. In future we might be able to utilise the protocol NAT code from netfilter to improve support for other protocols. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ce1234d299f3823ea07019c0f7b7b0bcb81ee7a0 Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: Detect interface up/down in suspend/resume hooks correctly Interface up/down detection was incorrectly changed during the filter API update. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit d703e29a88c91f015aa691a195e8fd4426c4ec73 Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: Pass all TXed frames to tx_status_irqsafe ieee80211_tx_status_irqsafe can handle the freeing of all TXed frames. Also, set excessive_retries for failed frames. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit f6ac0adf54ed3fc7fa47e66b92defcbdf37b44ab Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: Use revision from pci_dev No need to load the revision ourselves anymore. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 0d282764eb82f89395493b5e0541c1e30c985838 Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: kill version printks No need to pollute dmesg with copyright info. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit fb9bc28f8bd8a6b9bc5fba7bcacc4bb131d2d5dc Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: Improve writing of mac addrs to registers The mac address write is broken for big endian and the bssid write can be simplified. This patch does both. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 2e08ac7e27c1e54ebf0f82abc03285663efe7d89 Author: Michael Wu Date: Mon Sep 24 18:10:25 2007 -0400 [PATCH] adm8211: kill interrupt loop Looping in the interrupt handler is unnecessary. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 3a1532f2f87175285b9459dcce58e467feec6b78 Author: Ivo van Doorn Date: Tue Sep 25 20:58:08 2007 +0200 [PATCH] rt2x00: Release rt2x00 2.0.9 Version bump Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fdd0abc8175dc43a14fe414a09fd7e6a162757bd Author: Ivo van Doorn Date: Tue Sep 25 20:57:49 2007 +0200 [PATCH] rt2x00: Fix panic on rmmod with rfkill enabled When ieee80211_hw.config indicates that the radio is enabled and is configuring options that require the link tuner to be restarted the link tuner will cause a kernel panic when rfkill has indicated the radio was in fact disabled. Signed-off-by: Modestas Vainius Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dcf5475bc8458798794af9afafdb3ef33ab67fd9 Author: Ivo van Doorn Date: Tue Sep 25 20:57:25 2007 +0200 [PATCH] rt2x00: Fix obvious typo in comment Signed-off-by: Modestas Vainius Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 25ab002f94c73d9f214130fe0e0a8065e7b55841 Author: Ivo van Doorn Date: Tue Sep 25 20:57:04 2007 +0200 [PATCH] rt2x00: Stop link tuning when radio is down As pointed out by Modestas Vainius the link tuner could continue working while the radio is already down. This because at the start of disable_radio the ENABLED_RADIO flag is cleared and causes the toggle_rx to skip the stop_link_tuner() call. This will add a check to the start of the link tuner which will automatically stop the link tuner when the radio is disabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3e30968e55e43ef08ee08c71258711a79c550f25 Author: Ivo van Doorn Date: Tue Sep 25 20:56:36 2007 +0200 [PATCH] rt2x00: make rt2x00lib_stop_link_tuner() reentrant with link_tuner work Calling cancel_delayed_work_sync() unconditionally won't hurt and it will avoid race conditions when another CPU is already executing link_tuner work. Signed-off-by: Modestas Vainius Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 643b252123fab1a524449be3b79937f17e06a5ac Author: Ivo van Doorn Date: Tue Sep 25 20:13:51 2007 +0200 rt2x00: Add rt2x00dev->flags to debugfs Loosely based on the patch by Matthijs Kooijman, this will add the dev_flags entry into debugfs which will display rt2x00dev->flags. This will allow easier debugging of flag handling. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 066cb637b1b562bebd09d237bfaaca6724f247e5 Author: Ivo van Doorn Date: Tue Sep 25 20:55:39 2007 +0200 [PATCH] rt2x00: Reorganize rt2x00dev->flags The rt2x00dev->flags has become a chaos over time, this will reorganize the flags by renaming, deleting, adding and properly implement the flags. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 12dadb9009723dd0512091643e6e403f9e1b25cb Author: Ivo van Doorn Date: Tue Sep 25 20:54:44 2007 +0200 [PATCH] rt2x00: Correctly identify rt2561turbo Apparently rt2561s actually has PCI ID 0x0301 and rt2561 actually has PCI ID 0x0302. Where rt2561s supports Turbo. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e9136550eb7d9409292a93e2d2265afa11bee234 Author: Ivo van Doorn Date: Tue Sep 25 20:54:20 2007 +0200 [PATCH] rt2x00: Increase rt2x00usb_vendor_request timeout. By increasing the timeout for rt2x00usb_vendor_request, we should limit the number of loops required to send a signal to the device succefully. 500ms timeout is specified by the Ralink legacy drivers for rt2500usb. For rt73usb 1000ms is specified, but that includes the timeout for the firmware which is already specified in a different define. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2484591049ad1b92f585c1ff1c1d63f41e149faa Author: Ivo van Doorn Date: Tue Sep 25 20:53:43 2007 +0200 [PATCH] rt2x00: Make *_beacon_update static Make rt61pci_beacon_update and rt73usb_beacon_update static, they are only used inside their own source file and then only for setting it as callback funtion for mac80211. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 725d99d4660fcd9abe37d7b733c9412a58465d13 Author: Ivo van Doorn Date: Tue Sep 25 20:53:20 2007 +0200 [PATCH] rt2x00: Correct error in calculating rssi for link tuner The call to rt2x00lib_precalculate_link_signal resets link.rx_success which is needed when calculating the average rssi for the link tuner. Change the call order so the link tuner runs first as it doesn't need the result of the precalculate. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 79010420cc3f78eab911598bfdd29c4b06a83e1f Author: Johannes Berg Date: Tue Sep 18 17:29:21 2007 -0400 [PATCH] mac80211: fix virtual interface locking Florian Lohoff noticed a bug in mac80211: when bringing the master interface down while other virtual interfaces are up we call dev_close() under a spinlock which is not allowed. This patch removes the sub_if_lock used by mac80211 in favour of using an RCU list. All list manipulations are already done under rtnl so are well protected against each other, and the read-side locks we took in the RX and TX code are already in RCU read-side critical sections. Signed-off-by: Johannes Berg Cc: Florian Lohoff Cc: Herbert Xu Cc: Michal Piotrowski Cc: Satyam Sharma Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit ea49c359f36d5b40bf033c45a08332cb73777aa2 Author: Johannes Berg Date: Tue Sep 18 17:29:21 2007 -0400 [PATCH] mac80211: remove crypto algorithm typedef The typedef is not required, we can just use "enum ieee80211_key_alg" instead of "ieee80211_key_alg" Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit f97df02e23269c7650869f6192e809f8ac1a4b39 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [PATCH] wireless networking: move frame inline functions to generic header These inlines are generally useful, not just with mac80211. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 75a5f0ccfdbc0151ee40bb742f7b5c8eba493c0e Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [PATCH] mac80211: document a lot more This patch adds a lot more documentation (in kernel-doc format) to include/net/mac80211.h Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 1bc0826c8f5f3fa26644a8e878aae0be304a670f Author: Johannes Berg Date: Tue Sep 18 17:29:15 2007 -0400 [PATCH] mac80211: renumber and document the hardware flags Currently, hardware flags that drivers must set are not documented well enough. Fix this. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 0ec3ca445931ff0e7ad6ac61d6c5d2aaafe7a9f5 Author: Johannes Berg Date: Mon Sep 17 01:29:24 2007 -0400 [PATCH] mac80211: validate VLAN interfaces better This patch changes mac80211 to verify that VLAN interfaces are valid and not bother drivers about them any more. VLAN interfaces are now only valid when an AP interface is up with the same MAC address, and are automatically turned off when the AP interface is set down. Signed-off-by: Johannes Berg Cc: Jouni Malinen Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 4150c57212ad134765dd78c654a4b9906252b66d Author: Johannes Berg Date: Mon Sep 17 01:29:23 2007 -0400 [PATCH] mac80211: revamp interface and filter configuration Drivers are currently supposed to keep track of monitor interfaces if they allow so-called "hard" monitor, and they are also supposed to keep track of multicast etc. This patch changes that, replaces the set_multicast_list() callback with a new configure_filter() callback that takes filter flags (FIF_*) instead of interface flags (IFF_*). For a driver, this means it should open the filter as much as necessary to get all frames requested by the filter flags. Accordingly, the filter flags are named "positively", e.g. FIF_ALLMULTI. Multicast filtering is a bit special in that drivers that have no multicast address filters need to allow multicast frames through when either the FIF_ALLMULTI flag is set or when the mc_count value is positive. At the same time, drivers are no longer notified about monitor interfaces at all, this means they now need to implement the start() and stop() callbacks and the new change_filter_flags() callback. Also, the start()/stop() ordering changed, start() is now called *before* any add_interface() as it really should be, and stop() after any remove_interface(). The patch also changes the behaviour of setting the bssid to multicast for scanning when IEEE80211_HW_NO_PROBE_FILTERING is set; the IEEE80211_HW_NO_PROBE_FILTERING flag is removed and the filter flag FIF_BCN_PRBRESP_PROMISC introduced. This is a lot more efficient for hardware like b43 that supports it and other hardware can still set the BSSID to all-ones. Driver modifications by Johannes Berg (b43 & iwlwifi), Michael Wu (rtl8187, adm8211, and p54), Larry Finger (b43legacy), and Ivo van Doorn (rt2x00). Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: Larry Finger Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 070ac3a2651e3c1c4d277c5f1981517427c386a7 Author: Denis V. Lunev Date: Thu Sep 27 12:04:19 2007 -0700 [NET]: Proper comment for loopback initialization order. Loopback device is special. It should be initialized at the very beginning. Initialization order has been changed by Eric W. Biederman and this change is non-obvious and important enough to add proper comment. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f4618d39a34dab316090263b42cd8799f31ce277 Author: Eric W. Biederman Date: Wed Sep 26 22:40:08 2007 -0700 [NETNS]: Simplify the network namespace list locking rules. Denis V. Lunev noticed that the locking rules for the network namespace list are over complicated and broken. In particular the current register_netdev_notifier currently does not take any lock making the for_each_net iteration racy with network namespace creation and destruction. Oops. The fact that we need to use for_each_net in rtnl_unlock() when the rtnetlink support becomes per network namespace makes designing the proper locking tricky. In addition we need to be able to call rtnl_lock() and rtnl_unlock() when we have the net_mutex held. After thinking about it and looking at the alternatives carefully it looks like the simplest and most maintainable solution is to remove net_list_mutex altogether, and to use the rtnl_mutex instead. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 32db927686f6d475fc05b6229f82ed576c0c8096 Author: Jonathan Bastien-Filiatrault Date: Wed Sep 26 22:34:25 2007 -0700 [IRDA]: Document the fact that smsc-ircc2 will not use PNP by default This avoids user confusion when they see that their device is not detected. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 58c14a8fe64d047218522cf2f18a2d7f24c12f51 Author: Andrew Morton Date: Wed Sep 26 22:31:19 2007 -0700 [ATM] net/atm/lec.c: printk warning fix net/atm/lec.c: In function 'lec_start_xmit': net/atm/lec.c:371: warning: format '%x' expects type 'unsigned int', but argument 4 has type 'long unsigned int' Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit dcffde5345c917b98b094d0ef27f6280bc7d4655 Author: Satyam Sharma Date: Wed Sep 26 22:29:51 2007 -0700 [PASEMI_MAC]: remove unused function drivers/net/pasemi_mac.c: At top level: drivers/net/pasemi_mac.c:89: warning: 'read_iob_reg' defined but not used Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 7a876fae9da2b1417246a3eac0ac83889f12fa27 Author: Satyam Sharma Date: Wed Sep 26 22:29:02 2007 -0700 [SPIDERNET] spider_net_ethtool: Keep up with recent netdev stats changes drivers/net/spider_net_ethtool.c: In function 'spider_net_get_ethtool_stats': drivers/net/spider_net_ethtool.c:160: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:161: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:162: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:163: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:164: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:165: error: structure has no member named 'netdev_stats' drivers/net/spider_net_ethtool.c:166: error: structure has no member named 'netdev_stats' make[2]: *** [drivers/net/spider_net_ethtool.o] Error 1 Also do another ARRAY_SIZE() cleanup while at it. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0aa4f3331b1df09a500e1fda84145255303af573 Author: Andrew Morton Date: Wed Sep 26 22:21:28 2007 -0700 [WIRELESS]: Fix Kconfig. Seems that a bare "depends" is no longer allowed in Sam's kbuild tree. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3b04ddde02cf1b6f14f2697da5c20eca5715017f Author: Stephen Hemminger Date: Tue Oct 9 01:40:57 2007 -0700 [NET]: Move hardware header operations out of netdevice. Since hardware header operations are part of the protocol class not the device instance, make them into a separate object and save memory. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b95cce3576813ac3f86bafa6b5daaaaf7574b0fe Author: Stephen Hemminger Date: Wed Sep 26 22:13:38 2007 -0700 [NET]: Wrap hard_header_parse Wrap the hard_header_parse function to simplify next step of header_ops conversion. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0c4e85813d0a94eeb8bf813397a4907bdd7bb610 Author: Stephen Hemminger Date: Tue Oct 9 01:36:32 2007 -0700 [NET]: Wrap netdevice hardware header creation. Add inline for common usage of hardware header creation, and fix bug in IPV6 mcast where the assumption about negative return is an errno. Negative return from hard_header means not enough space was available,(ie -N bytes). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4c94f8c0c9a82fad84bc5df453aff755cfed70b7 Author: David S. Miller Date: Wed Sep 26 22:11:56 2007 -0700 [NET]: Remove no longer relevant comment in loopback driver. It talks about __get_cpu_var() which the driver no longer does. Signed-off-by: David S. Miller commit 2774c7aba6c97a2535be3309a2209770953780b3 Author: Eric W. Biederman Date: Wed Sep 26 22:10:56 2007 -0700 [NET]: Make the loopback device per network namespace. This patch makes loopback_dev per network namespace. Adding code to create a different loopback device for each network namespace and adding the code to free a loopback device when a network namespace exits. This patch modifies all users the loopback_dev so they access it as init_net.loopback_dev, keeping all of the code compiling and working. A later pass will be needed to update the users to use something other than the initial network namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 0cc217e16cb8ca8ef2544363571fce94259900e0 Author: Eric W. Biederman Date: Wed Sep 26 22:10:06 2007 -0700 [IPV4]: When possible test for IFF_LOOPBACK and not dev == loopback_dev Now that multiple loopback devices are becoming possible it makes the code a little cleaner and more maintainable to test if a deivice is th a loopback device by testing dev->flags & IFF_LOOPBACK instead of dev == loopback_dev. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5967789dbc8aafdba5813fa8e8cfce3c90516f83 Author: Eric W. Biederman Date: Wed Sep 26 22:09:25 2007 -0700 [IPV4]: Remove unnecessary test for the loopback device from inetdev_destroy Currently we never call unregister_netdev for the loopback device so it is impossible for us to reach inetdev_destroy with the loopback device. So the test in inetdev_destroy is unnecessary. Further when testing with my network namespace patches removing unregistering the loopback device and calling inetdev_destroy works fine so there appears to be no reason for avoiding unregistering the loopback device. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5f6d88b9149d537f3db0798f7d312be632422e15 Author: Eric W. Biederman Date: Wed Sep 26 22:08:12 2007 -0700 [NET]: Dynamically allocate the per cpu counters for the loopback device. This patch add support for dynamically allocating the statistics counters for the loopback device and adds appropriate device methods for allocating and freeing the loopback device. This completes support for creating multiple instances of the loopback device, in preparation for creating per network namespace instances. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 9dd776b6d7b0b85966b6ddd03e2b2aae59012ab1 Author: Eric W. Biederman Date: Wed Sep 26 22:04:26 2007 -0700 [NET]: Add network namespace clone & unshare support. This patch allows you to create a new network namespace using sys_clone, or sys_unshare. As the network namespace is still experimental and under development clone and unshare support is only made available when CONFIG_NET_NS is selected at compile time. As this patch introduces network namespace support into code paths that exist when the CONFIG_NET is not selected there are a few additions made to net_namespace.h to allow a few more functions to be used when the networking stack is not compiled in. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 8b41d1887db718be9a2cd9e18c58ce25a4c7fd93 Author: Eric W. Biederman Date: Wed Sep 26 22:02:53 2007 -0700 [NET]: Fix running without sysfs When sysfs support is compiled out the kernel still keeps and maintains the kobject tree. So it is not safe to skip our kobject reference counting or to avoid becoming members of the kobject tree. It is safe to not add the networking specific sysfs attributes. This patch removes the sysfs special cases from net/core/dev.c renames functions from netdev_sysfs_xxxx to netdev_kobject_xxxx and always compiles in net-sysfs.c net-sysfs.c is modified with a CONFIG_SYSFS guard around the parts that are actually sysfs specific. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit bb293e6a24cc2031f74775d95925e003e7250232 Author: Arnaldo Carvalho de Melo Date: Wed Sep 26 19:38:55 2007 -0300 [CCID3]: Remove ifdef surrounding BUG_ON As suggested by DaveM. Signed-off-by: Arnaldo Carvalho de Melo commit cecd8d0ec4cb4fec728f67163bb0a78f80c292eb Author: Gerrit Renker Date: Wed Sep 26 19:36:08 2007 -0300 [DCCP]: Reduce the number of writable states Since DCCP requires to close both ends of a connection simultaneously, permission to write in state DCCP_CLOSING is removed in dccp_sendmsg(): * if the sending end closed, it would encounter a write error anyhow; * if the other end has closed the connection, it accepts no more data. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e356d37a096a990ea1a74c44c15640122e56110b Author: Gerrit Renker Date: Wed Sep 26 14:35:19 2007 -0300 [DCCP]: Factor out common code for generating Resets This factors code common to dccp_v{4,6}_ctl_send_reset into a separate function, and adds support for filling in the Data 1 ... Data 3 fields from RFC 4340, 5.6. It is useful to have this separate, since the following Reset codes will always be generated from the control socket rather than via dccp_send_reset: * Code 3, "No Connection", cf. 8.3.1; * Code 4, "Packet Error" (identification for Data 1 added); * Code 5, "Option Error" (identification for Data 1..3 added, will be used later); * Code 6, "Mandatory Error" (same as Option Error); * Code 7, "Connection Refused" (what on Earth is the difference to "No Connection"?); * Code 8, "Bad Service Code"; * Code 9, "Too Busy"; * Code 10, "Bad Init Cookie" (not used). Code 0 is not recommended by the RFC, the following codes would be used in dccp_send_reset() instead, since they all relate to an established DCCP connection: * Code 1, "Closed"; * Code 2, "Aborted"; * Code 11, "Aggression Penalty" (12.3). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 9bf55cda9b2487fa7316dad3880acb0031ad3c0f Author: Gerrit Renker Date: Wed Sep 26 11:32:49 2007 -0300 [DCCP]: Sequence number wrap-around when sending reset This replaces normal addition with mod-48 addition so that sequence number wraparound is respected. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit a94f0f970549e63e54c80c4509db299c514d8c11 Author: Gerrit Renker Date: Wed Sep 26 11:31:49 2007 -0300 [DCCP]: Rate-limit DCCP-Syncs This implements a SHOULD from RFC 4340, 7.5.4: "To protect against denial-of-service attacks, DCCP implementations SHOULD impose a rate limit on DCCP-Syncs sent in response to sequence-invalid packets, such as not more than eight DCCP-Syncs per second." The rate-limit is maintained on a per-socket basis. This is a more stringent policy than enforcing the rate-limit on a per-source-address basis and protects against attacks with forged source addresses. Moreover, the mechanism is deliberately kept simple. In contrast to xrlim_allow(), bursts of Sync packets in reply to sequence-invalid packets are not supported. This foils such attacks where the receipt of a Sync triggers further sequence-invalid packets. (I have tested this mechanism against xrlim_allow algorithm for Syncs, permitting bursts just increases the problems.) In order to keep flexibility, the timeout parameter can be set via sysctl; and the whole mechanism can even be disabled (which is however not recommended). The algorithm in this patch has been improved with regard to wrapping issues thanks to a suggestion by Arnaldo. Commiter note: Rate limited the step 6 DCCP_WARN too, as it says we're sending a sync. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ee1a15922d356aff0e31bf9bb9088ab346b8033a Author: Gerrit Renker Date: Wed Sep 26 11:30:02 2007 -0300 [DCCP]: Remove duplicate code for Reset from connected socket In this patch, duplicated code is removed for the case when a Reset packet is sent from a connected socket. This code duplication is between dccp_make_reset and dccp_transmit_skb, which already contained an (up to now entirely unused) switch statement to fill in the reset code from the DCCP_SKB_CB. The only thing that has been removed is the call to dst_clone(dst), since the queue_xmit functions use sk_dst_cache anyway. I wasn't sure which purpose inet_sk_rebuild_header served, so I left it in. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 0430ee3451f4589b68f522552b1896825f2043b3 Author: Gerrit Renker Date: Wed Sep 26 11:27:56 2007 -0300 [DCCP]: Add Support for Data 1 .. 3 fields of Reset packets This adds fields to support the informational Data 1..3 fields of the DCCP-Reset packets (RFC 4340, 5.6), and makes minor cosmetic changes to documentation. Code which fills in these fields follows in subsequent patches, it is primarily used for reporting option-processing and feature-negotiation errors. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 727ecc5faaf6e976fc841649821c865ebd1e822d Author: Gerrit Renker Date: Wed Sep 26 11:26:04 2007 -0300 [DCCP]: Add FIXME for send_delayed_ack This adds a FIXME to signal that the function dccp_send_delayed_ack is nowhere used in the entire DCCP/CCID code. Using a delayed Ack timer is suggested in 11.3 of RFC 4340, but it has also rather subtle implications for the Ack-Ratio-accounting. CCID2 does not use this (maybe it should). I think leaving the function in is good, in case someone wants to implement this. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 2e86908f7dfb71b67ca4739d9a6c678b83b01078 Author: Gerrit Renker Date: Wed Sep 26 11:24:28 2007 -0300 [CCID3]: Move NULL-protection into function This moves several instances of testing against NULL into the function which is used to de-reference the CCID-private data. Committer note: Made the BUG_ON depend on having CONFIG_IP_DCCP_CCID3_DEBUG, as it is too much to have this on production code. Also made sure that the macro is used only after checking if sk_state is not LISTEN, to make it equivalent to what we had before. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 08831700cc65f85a497d6b32b1c83ca84d71de4a Author: Gerrit Renker Date: Wed Sep 26 10:30:05 2007 -0300 [DCCP]: Send Reset upon Sync in state REQUEST This fixes the code to correspond to RFC 4340, 7.5.4, which states the exception that a Sync received in state REQUEST generates a Reset (not a SyncAck). To achieve this, only a small change is required. Since dccp_rcv_request_sent_state_process() already uses the correct Reset Code number 4 ("Packet Error"), we only need to shift the if-statement a few lines further down. (To test this case: replace DCCP_PKT_RESPONSE with DCCP_PKT_SYNC in dccp_make_response.) Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 53465eb4ab16660eab0a7be168a087a97172e650 Author: WANG Cong Date: Tue Sep 25 22:57:31 2007 -0700 [BLUETOOTH]: Make hidp_setup_input() return int This patch: - makes hidp_setup_input() return int to indicate errors; - checks its return value to handle errors. And this time it is against -rc7-mm1 tree. Thanks to roel and Marcel Holtmann for comments. Signed-off-by: WANG Cong Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit 912d8f0b1f17b7e851ebbfeb17a16de9f9c7cb88 Author: Ilpo Järvinen Date: Tue Sep 25 22:47:31 2007 -0700 [TCP] MIB: Count FRTO's successfully detected spurious RTOs Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 93e680202929802558f783fbd96c41697ae65472 Author: Ilpo Järvinen Date: Tue Sep 25 22:46:50 2007 -0700 [TCP]: Reordered ACK's (old) SACKs not included to discarded MIB In case of ACK reordering, the SACK block might be valid in it's time but is already obsoleted since we've received another kind of confirmation about arrival of the segments through snd_una advancement of an earlier packet. I didn't bother to build distinguishing of valid and invalid SACK blocks but simply made reordered SACK blocks that are too old always not counted regardless of their "real" validity which could be determined by using the ack field of the reordered packet (won't be significant IMHO). DSACKs can very well be considered useful even in this situation, so won't do any of this for them. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit a6963a6b3d2d3921b60f45e0cf18be26495d5ad1 Author: Ilpo Järvinen Date: Tue Sep 25 22:44:14 2007 -0700 [TCP]: Re-place highest_sack check to a more robust position I previously added checking to position that is rather poor as state has already been adjusted quite a bit. Re-placing it above all state changes should be more robust though the return should never ever get executed regardless of its place :-). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b0d045ca45a44d9f8bd66d0a10558b10c60f895a Author: Gerrit Renker Date: Tue Sep 25 22:42:27 2007 -0700 [DCCP]: Parameter renaming The parameter `seq' of dccp_send_sync() is in fact an acknowledgement number and not a sequence number - thus renamed by this patch into `ackno'. Secondly, a `critical' warning is added when a Sync/SyncAck could not be sent. Sanity: I have checked all other functions that are called in dccp_transmit_skb, there are no clashes with the use of dccpd_ack_seq; no other function is using this slot at the same time. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e155d7692290f7bc539ccb8ebc3450ec964e53fd Author: Gerrit Renker Date: Tue Sep 25 22:41:56 2007 -0700 [DCCP]: Fix Reset/Sync-Flood Bug This updates sequence number checking with regard to RFC 4340, 7.5.4. Missing in the code was an exception for sequence-invalid Reset packets, which get a Sync acknowledging GSR, instead of (as usual) P.seqno. This can lead to an oscillating ping-pong flood of Reset packets. In fact, it has been observed on the wire as follows: 1. client establishes connection to server; 2. before server can write to client, client crashes without notifying the server (NB: now no longer possible due to ABORT function); 3. server sends DCCP-Data packet (has no ackno); 4. client generates Reset "No Connection", seqno=0, increments seqno; 5. server replies with Sync, using ackno = P.seqno; 6. client generates Reset "No Connection" with seqno = ackno + 1; 7. goto (5). The difference is that now in (5) the server uses GSR. This causes the Reset sent by the client in (6) to become sequence-valid, so that in (7) the vicious circle is broken; the Reset is then enqueued and causes the socket to enter TIMEWAIT state. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cbe1f5f88af454303a9c1a0624209269430d49fe Author: Gerrit Renker Date: Tue Sep 25 22:41:19 2007 -0700 [DCCP]: Shorten variable names in dccp_check_seqno This patch is in part required by the next patch; it * replaces 6 instances of `DCCP_SKB_CB(skb)->dccpd_seq' with `seqno'; * replaces 7 instances of `DCCP_SKB_CB(skb)->dccpd_ack_seq' with `ackno'; * replaces 1 use of dccp_inc_seqno() by unfolding `ADD48' macro in place. No changes in algorithm, all changes are text replacement/substitution. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3393da8241ae3a53e183ba15f8bd822995ec97cd Author: Gerrit Renker Date: Tue Sep 25 22:40:44 2007 -0700 [DCCP]: Simplify interface of dccp_sample_rtt The third parameter of dccp_sample_rtt now becomes useless and is removed. Also combined the subtraction of the timestamp echo and the elapsed time. This is safe, since (a) presence of timestamp echo is tested first and (b) elapsed time is either present and non-zero or it is not set and equals 0 due to the memset in dccp_parse_options. To avoid measuring option-processing time, the timestamp for measuring the initial Request/Response RTT sample is taken directly when the function is called (the Linux implementation always adds a timestamp on the Request, so there is no loss in doing this). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4c70f383e0c0273c4092c4efdb414be0966978b7 Author: Gerrit Renker Date: Tue Sep 25 22:40:13 2007 -0700 [DCCP]: Provide 10s of microsecond timesource This provides a timesource, conveniently used for DCCP timestamps, which returns the elapsed time in 10s of microseconds since initialisation. This makes for a wrap-around time of about 11.9 hours, which should be sufficient for most applications. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit aa97efd97acefb7d3dcd864adb878c7ce34061b3 Author: Gerrit Renker Date: Tue Sep 25 22:39:16 2007 -0700 [DCCP]: Reuse ktime_get_real() calls again This patch reduces the number of timestamps taken in the receive path for each packet. The ccid3_hc_tx_update_x() routine is called in * the receive path for each CCID3-controlled packet * for the nofeedback timer (if no feedback arrives during 4 RTT) Currently, when there is no loss, each packet gets timestamped twice. The patch resolves this by recycling the first timestamp taken on packet reception for RTT sampling. When the no_feedback_timer() is called, then the timestamp argument is simply set to NULL - so that ccid3_hc_tx_update_x() takes care of the logic. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e0eb68596232788bc352368f2fbc3cb088e42e41 Author: Michael Wu Date: Tue Sep 18 17:29:21 2007 -0400 [MAC80211]: rename ieee80211_cfg.h to cfg.h Might as well rename ieee80211_cfg.h to cfg.h to keep things consistent. Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d86ec781ef9627a3fcd64a7a91d1b79a74d3927b Author: Johannes Berg Date: Tue Sep 18 17:29:21 2007 -0400 [MAC80211]: kill vlan_id Each station has a vlan_id that is useless. Remove it. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c095df531f3ab9699b031e220c0da76d6407b157 Author: Johannes Berg Date: Tue Sep 18 17:29:21 2007 -0400 [MAC80211]: kill IE parse typedef The parse result typedef isn't needed. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fa5fea711f4c3bd71f00181d6f385ef4d53ab375 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: rename ieee80211_cfg.c to cfg.c It's just painful to have the extra ieee80211_ prefix. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit dd1cd4c620c174ebbdf78dc01b924115a06de5d3 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: print out wiphy name instead of master device This makes mac80211 print out the wiphy name instead of the master device name where appropriate. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9c7d7728baf79c63ae58df95fb39ea13db487599 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: remove tx info sw_retry_attempt member This is unused. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 693d454dffd43b2bab021d0e039a0c426181c1b0 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: fix warnings introduced by the doc patches This fixes a warning about NUM_IEEE80211_MODES missing in a switch statement. Intentionally do not add a default case so we get warnings at these places if we need to add new modes. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6b301cdfad96daa3cf4f0d775ab408f898308890 Author: Johannes Berg Date: Tue Sep 18 17:29:20 2007 -0400 [MAC80211]: yet more documentation Add more mac80211 documentation. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c33e3f3bcd2b63b735c5b1028f3cfd1048c300c2 Author: Johannes Berg Date: Mon Sep 17 01:29:26 2007 -0400 [MAC80211]: remove IEEE80211_CONF_SSID_HIDDEN The IEEE80211_CONF_SSID_HIDDEN setting is not useful for any driver we have and should be a per-interface setting anyway. Remove it. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 011bfcc4f3d3444b140da3880ae30a62cc93529e Author: Johannes Berg Date: Mon Sep 17 01:29:25 2007 -0400 [MAC80211]: remove key threshold stuff This patch removes the key threshold stuff from mac80211. I have patches for later that add it as a per-key setting to nl/cfg80211. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 72abd81b980ef7ffb83ecb4ac4a7627d9d575f50 Author: Johannes Berg Date: Mon Sep 17 01:29:22 2007 -0400 [MAC80211]: allow drivers to indicate failed FCS/PLCP checksum This patch allows drivers to indicate bad FCS/PLCP CRC to the stack and have the stack drop packets like that except for monitor interfaces. Signed-off-by: Johannes Berg Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ac630c2b1933e79ff32e3653ae656620cf4b4c79 Author: Vladimir Davydov Date: Thu Sep 6 21:45:36 2007 -0400 [LIBERTAS]: fix oops on the blackfin architecture Fixing memory alignment problems on the blackfin architecture (maybe on the ARM also) Signed-off-by: Vladimir Davydov Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f31ce76b781d15ab6b529663b95223f58171ec80 Author: Vladimir Davydov Date: Thu Sep 6 21:41:02 2007 -0400 [LIBERTAS]: fix oops on the blackfin architecture Reserve two bytes to align pointer to the IP header. Signed-off-by: Vladimir Davydov Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 28de0b36be2a4e7fb0ba7c9a77d61aeb229b27c0 Author: Ryan Mallon Date: Thu Sep 6 21:32:42 2007 -0400 [LIBERTAS]: fix interrupts in CF driver The following patch fixes the tx transmit timeout problem, which is caused by the interrupts being incorrectly check and masked. The patch moves the interrupt masking code so that interrupts are enabled only when the driver is registered and only disabled when the driver is unregistered. Signed-off-by: Ryan Mallon Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6f05cbe5882e8b0fc5a984313cbb14ce7741411b Author: Ryan Mallon Date: Thu Sep 6 21:30:32 2007 -0400 [LIBERTAS]: set dnld_sent correctly for CF parts Corrects a minor bug with priv->dnld_sent being set incorrectly in if_cs_host_to_card. Signed-off-by: Ryan Mallon Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1065de1562b1552a24f83e379bcb5fed351a8bc4 Author: Larry Finger Date: Thu Sep 20 20:10:07 2007 -0500 [B43LEGACY]: Change the hardware radio enable logic and cleanup code This change cleans up the radio-related messages in several ways. (1) The state of the rfkill switch is assumed to be on, rather than tested. Now, any user without such a switch will not see any messages. For devices with such a switch, a message will be logged only if the initial state is off, or if the switch is toggled. (2) The routine for testing the switch state is no longer inline. (3) The LED handling routine is simplified. (4) The "Radio turned off" message that has confused some users has been changed to "Radio initialized". This patch is patterned after a similar change to b43 by Michael Buesch. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 42a9174f541d2338d35b91869415d9ae9312ca0d Author: Larry Finger Date: Thu Sep 20 21:11:02 2007 -0500 [B43LEGACY]: Support for turning the radio off from software. This adds support for turning the radio off in software. That's useful in environments, where you don't want the RF to radiate any signals, but don't want to bring the interface down. This patch is based on a similar patch of b43 by Michael Buesch. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fda9abcf1a5b6b78a4ead25729583541af9876b5 Author: Michael Buesch Date: Thu Sep 20 22:14:18 2007 +0200 [B43]: Support for turning the radio off from software. This adds support for turning the radio off in software. That's useful in environments, where you don't want the RF to radiate any signals, but don't want to bring the interface down. Cc: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6a724d68a38c33ba4c7f7b5f008301ac12c9ced1 Author: Michael Buesch Date: Thu Sep 20 22:12:58 2007 +0200 [B43]: Remove the "radio hw enabled" message on startup. This message is useless. Only report state changes. Cc: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 61609bc0e4d3bc677ecdccf216a0a77563f52457 Author: Michael Buesch Date: Thu Sep 20 22:06:39 2007 +0200 [MAC80211]: Add support for setting TX power and radio status This adds support for disabling the radio and setting the TXpower through wext. This also fixes the prism TXpower ioctl (It always overwrote the TXpower value in ieee80211_hw_config()) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 501d857ec93e797d4872d6b9b265b7472b455ddf Author: Johannes Berg Date: Wed Oct 3 18:14:23 2007 -0700 [IEEE80211]: Fix softmac lockdep reports. It seems I was actually able to hit this deadlock, on my quad G5 softmac locks up more often than not. This fixes it by using an own workqueue that can safely be flushed under RTNL. Not sure if the patch is correct with the workqueue naming. And don't think with the patch it doesn't continually lock up. It still does, just doesn't invoke lockdep warnings all the time. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 05155c83d13b983ac2c5691575fd471543df31fe Author: Michael Buesch Date: Wed Sep 19 19:10:08 2007 +0200 [B43]: Change loglevel of radio-enable message. Also cleanup the code a bit and remove the inline. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6b9bafec6608539d07f7ccdeefe121dabe06604f Author: Michael Buesch Date: Wed Sep 19 18:55:12 2007 +0200 [SSB]: Sparse fixes. This fixes all Sparse warnings in SSB. No semantics change. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4b402c65a3a17257af45875159395278e4a2f0cd Author: Michael Buesch Date: Wed Sep 19 18:53:44 2007 +0200 [SSB]: Use ioreadX() and iowriteX() for PCI. On a PCI bus use ioreadX() and iowriteX(). We map the I/O space with pci_iomap(), so we must use the correct accessor functions, too. readX() and writeX() are not guaranteed to accept the cookie returned from pci_iomap() (though, it currently works on most architectures). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b85b3b7af52d1c1bd45bfcd47aa425a15fda45f7 Author: Michael Buesch Date: Wed Sep 19 18:51:38 2007 +0200 [B43]: Don't lock irq_lock in debugfs txpower adjust It's not required and the txpower adjustment must not be in atomic. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 90f4dd0f4ba910b86f387874ed990ca69c0951a5 Author: Andrew Morton Date: Sun Sep 16 15:08:37 2007 -0700 [P54PCI]: terminate pci table Signed-off-by: Andrew Morton Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ababda03e1a4c41d75cd86c186025532bf91d057 Author: Ulrich Kunitz Date: Sat Sep 1 22:40:32 2007 +0100 [ZD1211RD]: add USB id for Telegent TG54USB WLAN adapter Reinhard Speyerer reported at 2007-08-10 a new device. Here are the information strings. Product: Telegent TG54USB WLAN Adapter USB ID: 129b:1666 Chip ID: zd1211 chip 129b:1666 v4330 high 00-01-36 RF2959_RF pa0 ----- FCC ID: N89-UW620Z Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 01449c5a469c8c1c647cfd3705b1ff290be6afff Author: Larry Finger Date: Sun Sep 16 17:26:49 2007 -0500 [BCM43XX]: Change radio hardware switch status printk from debug to regular Some distros ship bcm43xx with debugging printout disabled. For those BCM43xx devices with radio on/off switches, this makes it impossible to know if the radio is on or off. This patch changes a pair of debug printk's into ordinary printk's. It also changes the message that prints when the radio is initialized to the off state as the old message seems to confuse users. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fa46081c506ab518e8ea4095bc21b6d544006c00 Author: Jesper Juhl Date: Fri Aug 31 00:30:31 2007 +0200 [ZD1211RW]: Don't needlessly initialize variable to NULL in zd_chip No need to initialize to NULL when variable is never used before it's assigned the return value of a kmalloc() call. Signed-off-by: Jesper Juhl Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e24eb521fbf2a350ce879dfc1d8e56d4ffa2aa22 Author: Christian Borntraeger Date: Tue Sep 25 19:42:02 2007 -0700 [NET]: note that NETIF_F_LLTX is deprecated Am Freitag, 21. September 2007 schrieb Herbert Xu: > Please don't use LLTX in new drivers. We're trying to get rid > of it since it's > > 1) unnecessary; > 2) causes problems with AF_PACKET seeing things twice. I suggest to document that LLTX is deprecated. Signed-off-by: Christian Borntraeger Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 1156b2c689bf509cdc254394598d410787a02aec Author: Zhu Yi Date: Tue Sep 25 19:34:09 2007 -0700 [IWLWIFI]: remove per-file CFLAGS for IWL define Signed-off-by: Zhu Yi Signed-off-by: David S. Miller commit 8236632fb3532188c75656421e29f5ab51b47db7 Author: Jamal Hadi Salim Date: Tue Sep 25 19:27:13 2007 -0700 [NET_SCHED]: explict hold dev tx lock For N cpus, with full throttle traffic on all N CPUs, funneling traffic to the same ethernet device, the devices queue lock is contended by all N CPUs constantly. The TX lock is only contended by a max of 2 CPUS. In the current mode of operation, after all the work of entering the dequeue region, we may endup aborting the path if we are unable to get the tx lock and go back to contend for the queue lock. As N goes up, this gets worse. The changes in this patch result in a small increase in performance with a 4CPU (2xdual-core) with no irq binding. Both e1000 and tg3 showed similar behavior; Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 854d8363f37491c955b0edc60d37b62f3d71bb67 Author: Daniel Lezcano Date: Tue Sep 25 19:18:04 2007 -0700 [NET]: Dynamically allocate the loopback device, part 2. Doing this makes loopback.c a better example of how to do a simple network device, and it removes the special case single static allocation of a struct net_device, hopefully making maintenance easier. Signed-off-by: Eric W. Biederman Signed-off-by: Daniel Lezcano Acked-By: Kirill Korotaev Acked-by: Benjamin Thery commit de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5 Author: Daniel Lezcano Date: Tue Sep 25 19:16:28 2007 -0700 [NET]: Dynamically allocate the loopback device, part 1. This patch replaces all occurences to the static variable loopback_dev to a pointer loopback_dev. That provides the mindless, trivial, uninteressting change part for the dynamic allocation for the loopback. Signed-off-by: Eric W. Biederman Signed-off-by: Daniel Lezcano Acked-By: Kirill Korotaev Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 556829657397b9b05baec6691ead4e22ee8d1567 Author: Johannes Berg Date: Thu Sep 20 13:09:35 2007 -0400 [NL80211]: add netlink interface to cfg80211 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0800f170263d19b882e519441156c5f6ed190fc1 Author: David S. Miller Date: Thu Sep 20 11:40:37 2007 -0700 [TCP]: Minor coding style fixup. Signed-off-by: David S. Miller commit b76892051cf1c04d95872838e70146f65e3b9d75 Author: Ilpo Järvinen Date: Thu Sep 20 11:37:19 2007 -0700 [TCP]: Avoid clearing sacktag hint in trivial situations There's no reason to clear the sacktag skb hint when small part of the rexmit queue changes. Account changes (if any) instead when fragmenting/collapsing. RTO/FRTO do not touch SACKED_ACKED bits so no need to discard SACK tag hint at all. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c96fd3d461fa495400df24be3b3b66f0e0b152f9 Author: Ilpo Järvinen Date: Thu Sep 20 11:36:37 2007 -0700 [TCP]: Enable SACK enhanced FRTO (RFC4138) by default Most of the description that follows comes from my mail to netdev (some editing done): Main obstacle to FRTO use is its deployment as it has to be on the sender side where as wireless link is often the receiver's access link. Take initiative on behalf of unlucky receivers and enable it by default in future Linux TCP senders. Also IETF seems to interested in advancing FRTO from experimental [1]. How does FRTO help? =================== FRTO detects spurious RTOs and avoids a number of unnecessary retransmissions and a couple of other problems that can arise due to incorrect guess made at RTO (i.e., that segments were lost when they actually got delayed which is likely to occur e.g. in wireless environments with link-layer retransmission). Though FRTO cannot prevent the first (potentially unnecessary) retransmission at RTO, I suspect that it won't cost that much even if you have to pay for each bit (won't be that high percentage out of all packets after all :-)). However, usually when you have a spurious RTO, not only the first segment unnecessarily retransmitted but the *whole window*. It goes like this: all cumulative ACKs got delayed due to in-order delivery, then TCP will actually send 1.5*original cwnd worth of data in the RTO's slow-start when the delayed ACKs arrive (basically the original cwnd worth of it unnecessarily). In case one is interested in minimizing unnecessary retransmissions e.g. due to cost, those rexmissions must never see daylight. Besides, in the worst case the generated burst overloads the bottleneck buffers which is likely to significantly delay the further progress of the flow. In case of ll rexmissions, ACK compression often occurs at the same time making the burst very "sharp edged" (in that case TCP often loses most of the segments above high_seq => very bad performance too). When FRTO is enabled, those unnecessary retransmissions are fully avoided except for the first segment and the cwnd behavior after detected spurious RTO is determined by the response (one can tune that by sysctl). Basic version (non-SACK enhanced one), FRTO can fail to detect spurious RTO as spurious and falls back to conservative behavior. ACK lossage is much less significant than reordering, usually the FRTO can detect spurious RTO if at least 2 cumulative ACKs from original window are preserved (excluding the ACK that advances to high_seq). With SACK-enhanced version, the detection is quite robust. FRTO should remove the need to set a high lower bound for the RTO estimator due to delay spikes that occur relatively common in some environments (esp. in wireless/cellular ones). [1] http://www1.ietf.org/mail-archive/web/tcpm/current/msg02862.html Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cd99889c616afe1e8addcf28da505600c04f065a Author: Ilpo Järvinen Date: Thu Sep 20 11:35:26 2007 -0700 [TCP] FRTO: Update sysctl documentation Since the SACK enhanced FRTO was added, the code has been under test numerous times so remove "experimental" claim from the documentation. Also be a bit more verbose about the usage. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 009a2e3e4ec395a290b9e4c7c9ff99296fd6b7d8 Author: Ilpo Järvinen Date: Thu Sep 20 11:34:38 2007 -0700 [TCP] FRTO: Improve interoperability with other undo_marker users Basically this change enables it, previously other undo_marker users were left with nothing. Reverse undo_marker logic completely to get it set right in CA_Loss. On the other hand, when spurious RTO is detected, clear it. Clearing might be too heavy for some scenarios but seems safe enough starting point for now and shouldn't have much effect except in majority of cases (if in any). By adding a new FLAG_ we avoid looping through write_queue when RTO occurs. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7c46a03e67d11d917d6c3dbf501b465b2ca97a6f Author: Ilpo Järvinen Date: Thu Sep 20 11:33:43 2007 -0700 [TCP]: Cleanup tcp_tso_acked and tcp_clean_rtx_queue Implements following cleanups: - Comment re-placement (CodingStyle) - tcp_tso_acked() local (wrapper-like) variable removal (readability) - __-types removed (IMHO they make local variables jumpy looking and just was space) - acked -> flag (naming conventions elsewhere in TCP code) - linebreak adjustments (readability) - nested if()s combined (reduced indentation) - clarifying newlines added Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 13fcf850cc20373db4dd8a5c9f349583ab3817c4 Author: Ilpo Järvinen Date: Tue Oct 9 01:28:45 2007 -0700 [TCP]: Move accounting from tso_acked to clean_rtx_queue The accounting code is pretty much the same, so it's a shame we do it in two places. I'm not too sure if added fully_acked check in MTU probing is really what we want perhaps the added end_seq could be used in the after() comparison. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5af4ec236f7c98f3671fb26731457a172d85e0e6 Author: Ilpo Järvinen Date: Thu Sep 20 11:30:48 2007 -0700 [TCP]: clear_all_retrans_hints prefixed by tcp_ In addition, fix its function comment spacing. Signed-off-by: Ilpo Järvinen commit 91fed7a15c9222af29a653ecb0ee72cff178fdd8 Author: Ilpo Järvinen Date: Tue Oct 9 01:24:15 2007 -0700 [TCP]: Make fackets_out accurate Substraction for fackets_out is unconditional when snd_una advances, thus there's no need to do it inside the loop. Just make sure correct bounds are honored. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0dde7b5404a3d52dcd9ce66d46197f6c3ca97dda Author: Ilpo Järvinen Date: Thu Sep 20 11:28:05 2007 -0700 [TCP]: Maintain highest_sack accurately to the highest skb In general, it should not be necessary to call tcp_fragment for already SACKed skbs, but it's better to be safe than sorry. And indeed, it can be called from sacktag when a DSACK arrives or some ACK (with SACK) reordering occurs (sacktag could be made to avoid the call in the latter case though I'm not sure if it's worth of the trouble and added complexity to cover such marginal case). The collapse case has return for SACKED_ACKED case earlier, so just WARN_ON if internal inconsistency is detected for some reason. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1a09404a2338163f181d170c7abdc2242b6c6f03 Author: Michael Buesch Date: Thu Sep 20 11:13:40 2007 -0700 [B43]: Fix sparse warnings. The remaining warning in phy.c will be fixed later. Signed-off-by: Michael Buesch Signed-off-by: David S. Miller commit fb8e4444cc8c7719d9947e21a93e2e84bb1b36eb Author: Al Viro Date: Thu Aug 23 03:04:12 2007 -0400 cxgb3: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit bd7eb1c549188e4f7993e324b1bbe267fc13675c Author: Al Viro Date: Thu Aug 23 03:03:51 2007 -0400 3c509: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 16989ba6e9c501ffc004ec3c031b1c6065708ccf Author: Al Viro Date: Thu Aug 23 03:03:13 2007 -0400 drivers/net/appletalk: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2929e7700fb64f58f9c501a293b98b6bf6c49403 Author: Al Viro Date: Thu Aug 23 02:57:00 2007 -0400 tms380tr: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b963dc1df78399a2166c2e6e3eb726a2dc98cf11 Author: Al Viro Date: Thu Aug 23 02:55:33 2007 -0400 pppoe: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 53c03f5c9e3c05a2484ad6bb1d88c0aa54befa47 Author: Al Viro Date: Thu Aug 23 02:33:30 2007 -0400 via-rhine: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b1eab70130fd60082cce11caba14fe8c99a018e9 Author: Al Viro Date: Thu Aug 23 02:30:16 2007 -0400 r8169: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 88b1943bd3e4d2620e5936181861e00bf6236aa4 Author: Al Viro Date: Thu Aug 23 02:29:45 2007 -0400 starfire: trivial endianness annotations Note: we still have several fishy areas - mcast filter and vlan handling. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 37e1370b701b9a032399e8e2d130009eefa66782 Author: Al Viro Date: Thu Aug 23 00:54:10 2007 -0400 drivers/net/irda: endianness, NULL noise Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit c676504ef5fe682bd343149de0e5c57bbf793ff9 Author: Al Viro Date: Thu Aug 23 00:47:03 2007 -0400 ixgb: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 3e33545ba6f8ca04b28a015e095662a35a4e2670 Author: Al Viro Date: Thu Aug 23 00:45:46 2007 -0400 pcnet32: endianness Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 03a710ffcb0c4e682087f4cf4f0236d10ed09253 Author: Al Viro Date: Thu Aug 23 00:44:39 2007 -0400 typhoon: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit c559a5bc9417c00ba2df59397a27eaf8d8e52aec Author: Al Viro Date: Thu Aug 23 00:43:22 2007 -0400 tulip: endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 701181ac1d9ac465a3614061cb60ded4033c4d07 Author: Al Viro Date: Wed Aug 22 22:59:11 2007 -0400 arcnet endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 05d2fec9f5e5fd1d7169435631b9d55ae4c566d1 Author: Al Viro Date: Wed Aug 22 21:42:28 2007 -0400 amd8111e big-endian fix amd8111e_calc_coalesce() ends up with insane values of tx_data_rate since ->tx_bytes increments missing conversion from little- to host-endian Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit ee41a82fa362449e608c4dab7df261058ffd52c0 Author: Al Viro Date: Wed Aug 22 21:37:46 2007 -0400 amd8111e: trivial endianness annotations, NULL noise removal Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit cc2d6596ca79667830a90ca177ba53b0d83262de Author: Al Viro Date: Wed Aug 22 21:34:46 2007 -0400 3c59x: trivial endianness annotations, NULL noise removal Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit cf9830195a3f35b1248425b69a01ee43f5b68221 Author: Al Viro Date: Wed Aug 22 21:18:56 2007 -0400 fix vlan in 8139cp on big-endian Layout of opts2 is : MSB(vlan_tag) : LSB(vlan_tag) : flags : 0 : regardless of the host endianness. On little-endian the current code ends up with the right values, but on big-endian it blows. In r8169.c the same bug had been fixed in commit d35da12a40426184b1d0844104b1d464753eba19 (r8169: endianness fixes). Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit d3bb52b0948cf118131c951c5a34a2d4d0246171 Author: Al Viro Date: Wed Aug 22 20:06:58 2007 -0400 endianness annotations drivers/net/bonding/ Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit dd96df2cc2539ecd451614a2ffed4d8a4c541d92 Author: Ursula Braun Date: Wed Sep 19 13:09:02 2007 +0200 s390 networking MAINTAINERS maintainer change for s390 networking Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 9b8ee8e7d6b7f2270b19b3425a393d918fe497d3 Author: Vitaly Bordug Date: Tue Sep 18 20:05:35 2007 +0400 FS_ENET: Add polling support Signed-off-by: Vitaly Bordug Signed-off-by: Jeff Garzik commit aa90f5032129b43569896c1c6c15a706c02c6abf Author: Vitaly Bordug Date: Tue Sep 18 20:05:27 2007 +0400 FS_ENET: TX stuff should use fep->tx_lock, instead of fep->lock. Signed-off-by: Vitaly Bordug Signed-off-by: Jeff Garzik commit 1a9e8549efda23a08451d0ac582713dfd04f0951 Author: Maciej W. Rozycki Date: Fri Sep 14 12:05:00 2007 +0100 NET_SB1250_MAC: Rename to SB1250_MAC Rename NET_SB1250_MAC to SB1250_MAC to follow the convention. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 25a72dfe044a716222d7adb4f075afc62ed4061f Author: Maciej W. Rozycki Date: Fri Sep 14 11:57:33 2007 +0100 NET_SB1250_MAC: Update Kconfig entry The SB1250 network interfaces are Gigabit Ethernet ones. Move the Kconfig entry to the appropriate section and add some help text. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit 200eef20db6de7535438c9af9becc8169c6cb6c0 Author: Dhananjay Phadke Date: Mon Sep 3 10:33:35 2007 +0530 netxen: ethtool fixes Resubmitting the patch. This patch improves ethtool support for printing correct ring statistics, segmentation offload status, etc. Signed-off by: Dhananjay Phadke Signed-off-by: Jeff Garzik commit 1d3bb996481e116f5f2b127cbd29b83365d2cf62 Author: David Gibson Date: Thu Aug 23 13:56:01 2007 +1000 Device tree aware EMAC driver Based on BenH's earlier work, this is a new version of the EMAC driver for the built-in ethernet found on PowerPC 4xx embedded CPUs. The same ASIC is also found in the Axon bridge chip. This new version is designed to work in the arch/powerpc tree, using the device tree to probe the device, rather than the old and ugly arch/ppc OCP layer. This driver is designed to sit alongside the old driver (that lies in drivers/net/ibm_emac and this one in drivers/net/ibm_newemac). The old driver is left in place to support arch/ppc until arch/ppc itself reaches its final demise (not too long now, with luck). This driver still has a number of things that could do with cleaning up, but I think they can be fixed up after merging. Specifically: - Should be adjusted to properly use the dma mapping API. Axon needs this. - Probe logic needs reworking, in conjuction with the general probing code for of_platform devices. The dependencies here between EMAC, MAL, ZMII etc. make this complicated. At present, it usually works, because we initialize and register the sub-drivers before the EMAC driver itself, and (being in driver code) runs after the devices themselves have been instantiated from the device tree. Signed-off-by: David Gibson Signed-off-by: Jeff Garzik commit 03233b90b0977d577322a6e1ddd56d9cc570d406 Author: Al Viro Date: Thu Aug 23 02:31:17 2007 +0100 8139cp: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit eeb70af91d3f38ba429d3c8e0519b3c1ff8a0955 Author: Bryan Wu Date: Wed Sep 19 23:37:41 2007 +0800 Blackfin EMAC driver: add a select for the PHYLIB of this driver Since we are adding requirement for the PHYLIB for this driver, there should be a select for that Cc: Robin Getz Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 4ae5a3ad5aa35972863f9c656ebd35446fbb5192 Author: Bryan Wu Date: Wed Sep 19 23:37:36 2007 +0800 Blackfin EMAC driver: Add phy abstraction layer supporting in bfin_emac driver - add MDIO functions and register mdio bus - add phy abstraction layer (PAL) functions and use PAL API - test on STAMP537 board Signed-off-by: Bryan Wu Acked-by: Jeff Garzik Signed-off-by: Jeff Garzik commit 496a34c2249fecc87ee689eede2bb8510c1b37a9 Author: Bryan Wu Date: Wed Sep 19 23:37:14 2007 +0800 Blackfin EMAC driver: add power management interface and change the bf537mac_reset to bf537mac_disable Signed-off-by: Bryan Wu Acked-by: Jeff Garzik Signed-off-by: Jeff Garzik commit 73f83182862a2c9113421720997c75ee939902f8 Author: Alex Landau Date: Wed Sep 19 23:14:18 2007 +0800 Blackfin EMAC driver: add function to change the MAC address Alex Landau writes in the forums: Previously, changing the MAC address (e.g. via ifconfig) resulted in a generic function to be called that only changed a variable in memory. This patch also updated the Blackfin MAC address registers to filter the correct new MAC. Signed-off-by: Alex Landau Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Jeff Garzik Signed-off-by: Jeff Garzik commit 1a7eb72b68c1c6a00a237bc242885222ab74536f Author: Sivakumar Subramani Date: Fri Sep 14 07:43:16 2007 -0400 S2io: Updating transceiver information in ethtool function - Update transceiver information in ethtool function Signed-off-by: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit 2fd37688455857b7b92bc2b1379a4c48aa9af147 Author: Sivakumar Subramani Date: Fri Sep 14 07:39:19 2007 -0400 S2io: Added support set_mac_address driver entry point - Added set_mac_address driver entry point - Copying permanent mac address to dev->perm_addr - Incorporated following review comments from Jeff - Converted the macro to a function and removed call to memset - regarding function naming convention, for all callbacks and entry points will have 's2io_' prefix and helper functions will have 'do_s2io_' prefix. Signed-off-by: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit 8a4bdbaa93c2df4cfac2174ba536cd586014787d Author: Sivakumar Subramani Date: Tue Sep 18 18:14:20 2007 -0400 S2io: Removed unused feature - bimodal interrupts Removed bimodal interrupt support - unused feature Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik [also, trim trailing whitespace] commit bd684e43d6290d40876230a68a0a6481dc24950a Author: Sivakumar Subramani Date: Fri Sep 14 07:28:50 2007 -0400 S2io: Change kmalloc+memset to k[zc]alloc - Changed kmalloc+memset to k[zc]alloc as per Mariusz's patch Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit b9f2c0440d806e01968c3ed4def930a43be248ad Author: Jeff Garzik Date: Wed Oct 3 18:07:32 2007 -0700 [netdrvr] Stop using legacy hooks ->self_test_count, ->get_stats_count These have been superceded by the new ->get_sset_count() hook. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 753f492093da7a40141bfe083073400f518f4c68 Author: Michael Buesch Date: Wed Sep 19 14:20:30 2007 -0700 [B44]: port to native ssb support Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit eff1a59c48e3c6a006eb4fe5f2e405a996f2259d Author: Michael Wu Date: Tue Sep 25 18:11:01 2007 -0700 [P54]: add mac80211-based driver for prism54 softmac hardware Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0795af5729b18218767fab27c44b1384f72dc9ad Author: Joe Perches Date: Wed Oct 3 17:59:30 2007 -0700 [NET]: Introduce and use print_mac() and DECLARE_MAC_BUF() This is nicer than the MAC_FMT stuff. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 95ea36275f3c9a1d3d04c217b4b576c657c4e70e Author: Ivo van Doorn Date: Tue Sep 25 17:57:13 2007 -0700 [RT2x00]: add driver for Ralink wireless hardware Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b481de9ca074528fe8c429604e2777db8b89806a Author: Zhu Yi Date: Tue Sep 25 17:54:57 2007 -0700 [IWLWIFI]: add iwlwifi wireless drivers This patch adds the mac80211 based wireless drivers for the Intel PRO/Wireless 3945ABG/BG Network Connection and Intel Wireless WiFi Link AGN (4965) adapters. [ Move driver into it's own directory -DaveM ] Signed-off-by: Zhu Yi Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 75388acd0cd827dc1498043daa7d1c760902cd67 Author: Larry Finger Date: Tue Sep 25 16:46:54 2007 -0700 [B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e4d6b7951812d98417feb10784e400e253caf633 Author: Michael Buesch Date: Tue Sep 18 15:39:42 2007 -0400 [B43]: add mac80211-based driver for modern BCM43xx devices Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 61e115a56d1aafd6e6a8a9fee8ac099a6128ac7b Author: Michael Buesch Date: Tue Sep 18 15:12:50 2007 -0400 [SSB]: add Sonics Silicon Backplane bus support SSB is an SoC bus used in a number of embedded devices. The most well-known of these devices is probably the Linksys WRT54G, but there are others as well. The bus is also used internally on the BCM43xx and BCM44xx devices from Broadcom. This patch also includes support for SSB ID tables in modules, so that SSB drivers can be loaded automatically. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5ee3afba88f5a79d0bff07ddd87af45919259f91 Author: Rick Jones Date: Tue Sep 18 13:26:31 2007 -0700 [TCP]: Return useful listenq info in tcp_info and INET_DIAG_INFO. Return some useful information such as the maximum listen backlog and the current listen backlog in the tcp_info structure and INET_DIAG_INFO. Signed-off-by: Rick Jones Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 768f3591e2b1cc309fd6f10d6579b216026d7817 Author: Pavel Emelyanov Date: Tue Sep 18 13:20:41 2007 -0700 [NETNS]: Cleanup list walking in setup_net and cleanup_net I proposed introducing a list_for_each_entry_continue_reverse macro to be used in setup_net() when unrolling the failed ->init callback. Here is the macro and some more cleanup in the setup_net() itself to remove one variable from the stack :) The same thing is for the cleanup_net() - the existing list_for_each_entry_reverse() is used. Minor, but the code looks nicer. Signed-off-by: Pavel Emelyanov Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 1a348ccc1047a00507e554826775a3d81f7f3437 Author: Andy Gospodarek Date: Mon Sep 17 18:50:36 2007 -0700 [NET]: Add Tehuti network driver. [ Ported to napi_struct changes... -DaveM ] Signed-off-by: David S. Miller commit 1202d6ff356cc66dc8d2b85546eb4f187f9e1f25 Author: Francois Romieu Date: Mon Sep 17 17:13:55 2007 -0700 [IPG]: add IP1000A driver to kernel tree Signed-off-by: Jesse Huang Signed-off-by: Stefan Lippers-Hollmann Signed-off-by: Francois Romieu Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6b2f9cb64db2d2460da17900bf54266030cc24f1 Author: Vlad Yasevich Date: Sun Sep 16 19:35:39 2007 -0700 [SCTP]: Tie ADD-IP and AUTH functionality as required by spec. ADD-IP spec requires AUTH. It is, in fact, dangerous without AUTH. So, disable ADD-IP functionality if the peer claims to support ADD-IP, but not AUTH. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 65b07e5d0d09c77e98050b5f0146ead29e5add32 Author: Vlad Yasevich Date: Sun Sep 16 19:34:00 2007 -0700 [SCTP]: API updates to suport SCTP-AUTH extensions. Add SCTP-AUTH API. The API implemented here was agreed to between implementors at the 9th SCTP Interop. It will be documented in the next revision of the SCTP socket API spec. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit bbd0d59809f923ea2b540cbd781b32110e249f6e Author: Vlad Yasevich Date: Wed Oct 3 17:51:34 2007 -0700 [SCTP]: Implement the receive and verification of AUTH chunk This patch implements the receive path needed to process authenticated chunks. Add ability to process the AUTH chunk and handle edge cases for authenticated COOKIE-ECHO as well. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 4cd57c8078fae0a4b1bf421191e94626d0cba92a Author: Vlad Yasevich Date: Sun Sep 16 19:32:45 2007 -0700 [SCTP]: Enable the sending of the AUTH chunk. SCTP-AUTH, Section 6.2: Endpoints MUST send all requested chunks authenticated where this has been requested by the peer. The other chunks MAY be sent authenticated or not. If endpoint pair shared keys are used, one of them MUST be selected for authentication. To send chunks in an authenticated way, the sender MUST include these chunks after an AUTH chunk. This means that a sender MUST bundle chunks in order to authenticate them. If the endpoint has no endpoint pair shared key for the peer, it MUST use Shared Key Identifier 0 with an empty endpoint pair shared key. If there are multiple endpoint shared keys the sender selects one and uses the corresponding Shared Key Identifier Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 730fc3d05cd4ba4c9ce2de91f3d43349e95dbbf5 Author: Vlad Yasevich Date: Sun Sep 16 19:32:11 2007 -0700 [SCTP]: Implete SCTP-AUTH parameter processing Implement processing for the CHUNKS, RANDOM, and HMAC parameters and deal with how this parameters are effected by association restarts. In particular, during unexpeted INIT processing, we need to reply with parameters from the original INIT chunk. Also, after restart, we need to update the old association with new peer parameters and change the association shared keys. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit a29a5bd4f5c3e8ba2e89688feab8b01c44f1654f Author: Vlad Yasevich Date: Sun Sep 16 19:31:35 2007 -0700 [SCTP]: Implement SCTP-AUTH initializations. The patch initializes AUTH related members of the generic SCTP structures and provides a way to enable/disable auth extension. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 1f485649f52929d9937b346a920a522a7363e202 Author: Vlad Yasevich Date: Tue Oct 9 01:15:59 2007 -0700 [SCTP]: Implement SCTP-AUTH internals This patch implements the internals operations of the AUTH, such as key computation and storage. It also adds necessary variables to the SCTP data structures. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f7b0e93ba1a484700bd1b0e36bdaddaf4eb51b0b Author: Vlad Yasevich Date: Sun Sep 16 19:26:06 2007 -0700 [SCTP]: protocol definitions for SCTP-AUTH implementation Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 96793b482540f3a26e2188eaf75cb56b7829d3e3 Author: David L Stevens Date: Mon Sep 17 09:57:33 2007 -0700 [IPV4]: Add ICMPMsgStats MIB (RFC 4293) Background: RFC 4293 deprecates existing individual, named ICMP type counters to be replaced with the ICMPMsgStatsTable. This table includes entries for both IPv4 and IPv6, and requires counting of all ICMP types, whether or not the machine implements the type. These patches "remove" (but not really) the existing counters, and replace them with the ICMPMsgStats tables for v4 and v6. It includes the named counters in the /proc places they were, but gets the values for them from the new tables. It also counts packets generated from raw socket output (e.g., OutEchoes, MLD queries, RA's from radvd, etc). Changes: 1) create icmpmsg_statistics mib 2) create icmpv6msg_statistics mib 3) modify existing counters to use these 4) modify /proc/net/snmp to add "IcmpMsg" with all ICMP types listed by number for easy SNMP parsing 5) modify /proc/net/snmp printing for "Icmp" to get the named data from new counters. Signed-off-by: David L Stevens Signed-off-by: David S. Miller commit 14878f75abd5bf1d38becb405801cd491ee215dc Author: David L Stevens Date: Sun Sep 16 16:52:35 2007 -0700 [IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2] Background: RFC 4293 deprecates existing individual, named ICMP type counters to be replaced with the ICMPMsgStatsTable. This table includes entries for both IPv4 and IPv6, and requires counting of all ICMP types, whether or not the machine implements the type. These patches "remove" (but not really) the existing counters, and replace them with the ICMPMsgStats tables for v4 and v6. It includes the named counters in the /proc places they were, but gets the values for them from the new tables. It also counts packets generated from raw socket output (e.g., OutEchoes, MLD queries, RA's from radvd, etc). Changes: 1) create icmpmsg_statistics mib 2) create icmpv6msg_statistics mib 3) modify existing counters to use these 4) modify /proc/net/snmp to add "IcmpMsg" with all ICMP types listed by number for easy SNMP parsing 5) modify /proc/net/snmp printing for "Icmp" to get the named data from new counters. [new to 2nd revision] 6) support per-interface ICMP stats 7) use common macro for per-device stat macros Signed-off-by: David L Stevens Signed-off-by: David S. Miller commit 8b14a536701b50559a0d69d5d593323f550db4e9 Author: Denis Cheng Date: Sun Sep 16 16:41:29 2007 -0700 [NET]: all net/ cleanup with ARRAY_SIZE Signed-off-by: Denis Cheng commit c40f6fff401f693f627d3d44ef7663b993943517 Author: Denis Cheng Date: Sun Sep 16 16:39:25 2007 -0700 [IPV4] af_inet.c: use ARRAY_SIZE macro from kernel.h instead Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 26ff5ddc5ab11e37ab3db469f24324e0ef1d6f63 Author: Denis Cheng Date: Sun Sep 16 16:36:02 2007 -0700 [NETLINK]: the temp variable name max is ambiguous with the macro max provided by , so changed its name to a more proper one: limit Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 99406c885ab27c369fa4a1b15c4a5a5ad0d61fcd Author: Denis Cheng Date: Sun Sep 16 16:34:39 2007 -0700 [NETLINK]: use the macro min(x,y) provided by instead Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 52886051ffdc087a4f7f11540395fd64040101ad Author: Herbert Xu Date: Sun Sep 16 16:32:11 2007 -0700 [SKBUFF]: Fix up csum_start when head room changes Thanks for noticing the bug where csum_start is not updated when the head room changes. This patch fixes that. It also moves the csum/ip_summed copying into copy_skb_header so that skb_copy_expand gets it too. I've checked its callers and no one should be upset by this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0cfad07555312468296ea3bbbcdf99038f58678b Author: Herbert Xu Date: Sun Sep 16 16:24:44 2007 -0700 [NETLINK]: Avoid pointer in netlink_run_queue I was looking at Patrick's fix to inet_diag and it occured to me that we're using a pointer argument to return values unnecessarily in netlink_run_queue. Changing it to return the value will allow the compiler to generate better code since the value won't have to be memory-backed. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 007e3936bdaaa012483c9fe06ca71c272458c710 Author: Vlad Yasevich Date: Sun Sep 16 16:04:37 2007 -0700 [SCTP]: Move sysctl_sctp_[rw]mem definitions to protocol.c The sctp_[rw]mem definitions should really be in protocol.c since that is where they are initialized. This also allows one to build a kernel without sysctl support. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 131a47e31ab1a9defd50ff16b04008ab94c21c0d Author: Vlad Yasevich Date: Sun Sep 16 15:53:56 2007 -0700 [SCTP]: Implement the Supported Extensions Parameter SCTP Supported Extenions parameter is specified in Section 4.2.7 of the ADD-IP draft (soon to be RFC). The parameter is encoded as: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Parameter Type = 0x8008 | Parameter Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHUNK TYPE 1 | CHUNK TYPE 2 | CHUNK TYPE 3 | CHUNK TYPE 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHUNK TYPE N | PAD | PAD | PAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ It contains a list of chunks that a particular SCTP extension uses. Current extensions supported are Partial Reliability (FWD-TSN) and ADD-IP (ASCONF and ASCONF-ACK). When implementing new extensions (AUTH, PKT-DROP, etc..), new chunks need to be added to this parameter. Parameter processing would be modified to negotiate support for these new features. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 76c72d4f44ec5fb7f88eda8a0d3aa30922c891d1 Author: Denis V. Lunev Date: Sun Sep 16 15:44:27 2007 -0700 [IPV4/IPV6/DECNET]: Small cleanup for fib rules. This patch slightly cleanups FIB rules framework. rules_list as a pointer on struct fib_rules_ops is useless. It is always assigned with a static per/subsystem list in IPv4, IPv6 and DecNet. Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 056925ab3145713e5e83cf8e05ae6fb2f4ace41e Author: Pavel Emelyanov Date: Sun Sep 16 15:42:43 2007 -0700 [NET]: Cleanup calling netdev notifiers. The call_netdev_notifiers routine can successfully be used in the net/core_dev.c itself. This will save 6 lines of code and 62 ;) bytes of .text section. 62 is rather small, but I have one more patch saving ~30 bytes from netns code (sent to Eric), so altogether they can save some more noticeable amount. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 30d97d35851f40fd1c108d1b8904aca3c38d0126 Author: Pavel Emelyanov Date: Sun Sep 16 15:40:33 2007 -0700 [NETNS]: Consolidate hashes creation in netdev_init() The dev_name_hash and the dev_index_hash are now booth kmalloc-ed (and each element is properly initialized as usually) so I think it's worth consolidating this code making it look nicer (and saving 28 bytes of .text section ;) ) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ad7379d49458a863c520a73a3c36441c572f850e Author: Eric W. Biederman Date: Sun Sep 16 15:33:32 2007 -0700 [NET]: Fix the prototype of call_netdevice_notifiers. This replaces the void * parameter with a struct net_device * which is what is actually required. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 22dd74950172dc8979576e2bef3b439f20ef0b05 Author: Jamal Hadi Salim Date: Sun Sep 16 14:40:49 2007 -0700 [NET]: migrate HARD_TX_LOCK to header file HARD_TX_LOCK micro is a nice aggregation that could be used in other spots. move it to netdevice.h Also makes sure the previously superflous cpu arguement is used. Thanks to DaveM for the suggestions. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 4885a50476b95fa0f4caad179a80783508c2fe86 Author: Ed Swierk Date: Sun Sep 16 12:21:38 2007 -0700 [TAP]: Configurable interface MTU. Signed-off-by: David S. Miller commit 0b69d4bd263c75b3e2ec94f1c72f338b84be817e Author: Milan Kocian Date: Sat Sep 15 21:48:27 2007 -0700 [IPV6]: Remove redundant RTM_DELLINK message. Remove useless message. We get the right message from another subsystem. Signed-off-by: Milan Kocian Signed-off-by: David S. Miller commit 63d804eade298208037045ab6728c933f2b6c27d Author: Paul Moore Date: Sat Sep 15 21:45:13 2007 -0700 [CIPSO]: remove duplicated code in the cipso_v4_*_getattr() functions The bulk of the CIPSO option parsing/processing in the cipso_v4_sock_getattr() and cipso_v4_skb_getattr() functions are identical, the only real difference being where the functions obtain the CIPSO option itself. This patch creates a new function, cipso_v4_getattr(), which contains the common CIPSO option parsing/processing code and modifies the existing functions to call this new helper function. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e Author: Jeff Garzik Date: Sat Sep 15 14:41:06 2007 -0700 [ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls For the operations get-tx-csum get-sg get-tso get-ufo the default ethtool_op_xxx behavior is fine for all drivers, so we permit op==NULL to imply the default behavior. This provides a more uniform behavior across all drivers, eliminating ethtool(8) "ioctl not supported" errors on older drivers that had not been updated for the latest sub-ioctls. The ethtool_op_xxx() functions are left exported, in case anyone wishes to call them directly from a driver-private implementation -- a not-uncommon case. Should an ethtool_op_xxx() helper remain unused for a while, except by net/core/ethtool.c, we can un-export it at a later date. [ Resolved conflicts with set/get value ethtool patch... -DaveM ] Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0 Author: Jeff Garzik Date: Wed Oct 3 17:41:50 2007 -0700 [NET] drivers/net: statistics cleanup #1 -- save memory and shrink code We now have struct net_device_stats embedded in struct net_device, and the default ->get_stats() hook does the obvious thing for us. Run through drivers/net/* and remove the driver-local storage of statistics, and driver-local ->get_stats() hook where applicable. This was just the low-hanging fruit in drivers/net; plenty more drivers remain to be updated. [ Resolved conflicts with napi_struct changes and fix sunqe build regression... -DaveM ] Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ff8ac60948ba819b89e9c87083e8050fc2f89999 Author: Denis Cheng Date: Sun Sep 2 18:30:18 2007 +0800 drivers/net/: all drivers/net/ cleanup with ARRAY_SIZE Signed-off-by: Denis Cheng Signed-off-by: Jeff Garzik commit 10d024c1b2fd58af8362670d7d6e5ae52fc33353 Author: Ralf Baechle Date: Mon Sep 17 13:11:17 2007 -0700 [NET]: Nuke SET_MODULE_OWNER macro. It's been a useless no-op for long enough in 2.6 so I figured it's time to remove it. The number of people that could object because they're maintaining unified 2.4 and 2.6 drivers is probably rather small. [ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ] Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 596c5c97431eab8465739c169401ea611127b9ad Author: Sivakumar Subramani Date: Sat Sep 15 14:24:03 2007 -0700 S2io: code Optimization of isr function - Code Optimization of s2io_isr function. - Isr check using per device napi variable instead of driver global. - Reduced from 3 to 1 if condition before check for processing packet receive packets. - Implemented Jeff's comment to use synchronize_irq. Removed the isr_cnt variable as it became redundant. - One time de assert the interrupts by writing all F's to the general_int_mask register instead of de asserting by clearing the source of interrupts with multiple writes which causes loss of interrupts (race conditions). It is entirely possible that before the driver has a chance to mask the asserted alarm bit, another alarm/traffic interrupt bit gets asserted as well. In this case Herc will keep the INTA line asserted and the bridge will not send a new Assert_INTA message upstream. [ Resolved conflicts due to napi_struct changes... -DaveM ] Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 92b84437a6cddf5dc00ab179e38d2baa2264d46a Author: Sivakumar Subramani Date: Thu Sep 6 06:51:14 2007 -0400 S2io: Check for device state before handling traffic - Added check to return from the traffic handling function, if the card status is DOWN. - Implemented Jeff's comments on incorrect return value in s2io_poll function. Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit eaae7f72304f2cd095e68ab39629c0f32815dcf2 Author: Sivakumar Subramani Date: Sat Sep 15 14:14:22 2007 -0700 S2io: Cleanup - removed unused variable intr_type - Removed the unused variable, intr_type, in device private structure. [ Resolve conflicts with napi_struct changes... -DaveM ] Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 8116f3cf4a2a5a4fa2335e6f32023ac50506698f Author: Sivakumar Subramani Date: Mon Sep 17 13:05:35 2007 -0700 [S2IO]: Handle and monitor all of the device errors and alarms - Added support to poll entire set of device errors and alarams. - A note on how device errors and alarms are handled: - The adapter will automatically recover from uncorrectable ECC errors. Packets containing corrupted data will be dropped (not transmitted) or tagged as invalid before being passed to the host. - The adapter cannot recover from any internal state machine errors. A state machine error requires a device reset. - Any internal error that could potentially result in .store trampling. (undesirable PCI behaviour)is tagged as a "serious error". In such cases the adapter will give up its ability to be a bus master. In this situation the host will still be able to read internal device registers in order to generate an error report. A device reset is necessary to return to normal operation. - In the event of a pcix data parity error, the adapter will automatically disable itself. Adapter_En will automatically transition from '1' to '0' and the adapter will enter its clean-up routine. Once the device has achieved quiescence, an adapter reset should be performed. - Replaced alarm_intr_handler() with s2io_handle_errors(). - Added statistic counters to monitor the alarms. [ Fix warnings wrt. do_s2io_chk_alarm_bit(), Callers pass in an "unsigned long long *" but the function takes a "u64 *" which is different on many 64-bit platforms. -DaveM ] Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 9caab4587b8320c54fc666a6c820e966e6403aea Author: Sivakumar Subramani Date: Thu Sep 6 06:21:54 2007 -0400 S2io: Enable all the error and alarm indications - Added support to unmask entire set of device errors and alarams. Alarm interrupts are generated for a myriad of purposes, ranging from illegal operations or requests to internal state machine errors and uncorrectable data corruption errors. In several cases the adapter can recover gracefully from unexpected events; however, in some cases, a device reset may be necessary. This patch handles alarms generated by all the blocks within the device. The adapter generates the following types of alarms: 1. Link state transitions (local/remote fault) or other link-related problems. 2. Problems with any device peripherals, including the EEPROM, FLASH, etc. 3. Correctable ECC errors (single-bit errors) on internal data structures or frame data. 4. Uncorrectable ECC errors (multi-bit errors) on internal data structures or frame data. 5. State machine errors, which indicate that internal control structures have become corrupted. 6. PCI related errors, including parity errors or illegal transactions. 7. Other unexpected events. - Implemented Jeff's review comments to use do_s2io_write_bits function to avoid duplicate codes. Signed-off-by: Sivakumar Subramani Signed-off-by: Santosh Rastapur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit ed9f0e0bf3ceb44334ca9b70779a50b2e79b7f97 Author: Thomas Bogendoerfer Date: Sat Sep 8 21:46:49 2007 +0200 remove setup of platform device from jazzsonic.c remove setup platform device from jazzsonic, which is done in arch code now Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit 99cd149efe824cf27c5d34506002a0fbfa831c0f Author: Ralf Baechle Date: Tue Sep 4 14:41:01 2007 +0100 sgiseeq: replace use of dma_cache_wback_inv The sgiseeq driver is one of the few remaining users of the ancient cache banging DMA API. Replaced with the modern days DMA API. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit dc67369573eee33a4b1220d416cb7dd3501dccbc Author: Divy Le Ray Date: Wed Sep 5 15:58:41 2007 -0700 cxgb3 - Update engine microcode version The new microcode engine version is set to 1.1.0 Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 1aafee265723818d903766212015b6116885bc6f Author: Divy Le Ray Date: Wed Sep 5 15:58:36 2007 -0700 cxgb3 - Add T3C rev add driver recognition for T3C rev board. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit bb9366af7b4addb27156585baccadc4b6d30f223 Author: Divy Le Ray Date: Wed Sep 5 15:58:30 2007 -0700 cxgb3 - CQ context operations time out too soon. Currently, the driver only tries up to 5 times (5us) to get the results of a CQ context operation. Testing has shown the chip can take as much as 50us to return the response on SG_CONTEXT_CMD operations. So we up the retry count to 100 to cover high loads. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 1c17ae8af93bed203d9760702882e9f747a51912 Author: Divy Le Ray Date: Wed Sep 5 15:58:25 2007 -0700 cxgb3 - Set the CQ_ERR bit in CQ contexts. The cxgb3 driver is incorrectly configuring the HW CQ context for CQ's that use overflow-avoidance. Namely the RDMA control CQ. This results in a bad DMA from the device to bus address 0. The solution is to set the CQ_ERR bit in the context for these types of CQs. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit b4687ff753c2c5c330989efed7cdf1a6bc6b512e Author: Divy Le Ray Date: Wed Sep 5 15:58:20 2007 -0700 cxgb3 - remove false positive in xgmac workaround Qualify toggling of xgmac tx enable with not getting pause frames, we might not make forward progress because the peer is sending lots of pause frames. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 3eea3337a08a2ed2addac1551a9d446f2c16acd5 Author: Divy Le Ray Date: Wed Sep 5 15:58:15 2007 -0700 cxgb3 - log and clear PEX errors Clear pciE PEX errors late at module load time. Log details when PEX errors occur. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit a5a3b4601bfa3c7671944067d4e4b04bf647e6d9 Author: Divy Le Ray Date: Wed Sep 5 15:58:09 2007 -0700 cxgb3 - Firmware update Update firmware version. Allow the driver to be up and running with older FW image Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 34c6417b7087a4818e7dca2e5d66c3361cee80a1 Author: Stephen Hemminger Date: Thu Sep 6 11:51:37 2007 -0700 e100: timer power saving Since E100 timer is 2HZ, use rounding to make timer occur on the correct boundary. Signed-off-by: Stephen Hemminger Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 9a799d71034c4e2b168740c8a8530591011313d5 Author: Auke Kok Date: Sat Sep 15 14:07:45 2007 -0700 ixgbe: driver for Intel(R) 82598 PCI-Express 10GbE adapters (v4) This patch adds support for the Intel 82598 PCI-Express 10GbE chipset. Devices will be available on the market soon. This version of the driver is largely the same as the last release: * Driver uses a single RX and single TX queue, each using 1 MSI-X irq vector. * Driver runs in NAPI mode only * Driver is largely multiqueue-ready (TM) Changes since 20070803: * removed wrappers for hardware functions * incorporated e1000e-style HW api reorganization code * sparse/checkpatch cleanups, namespace cleanups * driver prints out extra debugging information at load time identifying adapter board number, mac, phy types * removed ixgbe_api.c, ixgbe_api.h, ixgbe_osdep.h * driver update to 1.1.18 * removed ixgbe.txt which contained no useful info anymore [ Integrated napi_struct changes from Auke as well... -DaveM ] Signed-off-by: Auke Kok Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit dc029ad97f267cbd1c2e978a443eb5ae93a55328 Author: Masakazu Mokuno Date: Fri Aug 31 22:25:09 2007 +0900 PS3: Remove the workaround no longer needed Removed the workaround that was needed for PS3 firmware versions prior to the first release. Signed-off-by: Masakazu Mokuno CC: Geoff Levand Signed-off-by: Jeff Garzik commit 173261ed37e7a98cedfcc808eb07eeceee66e078 Author: Masakazu Mokuno Date: Fri Aug 31 22:22:32 2007 +0900 PS3: changed the way to handle tx skbs The PS3 virtual network device requires a vlan tag in the sending packet to select the destination device, ethernet port or wireless. As the vlan tag field is in the middle of the passed data, we should insert it into the packet data. To avoid copying much of the packet data, the driver used two tx descriptors for one tx skb; one descriptor was for sending a small static buffer which contained vlan tag and copied header (two mac addresses), one was for the residual data after the vlan field. This patch changes the way to insert the vlan tag. By changing netdev->hard_header_len, we can make the headroom for moving mac address fields in the skb buffer. Then we can send one tx skb with one tx descriptor. This also gives us a tx throughut gain of approx. 20% according to netperf results. Signed-off-by: Masakazu Mokuno CC: Geoff Levand Signed-off-by: Jeff Garzik commit 829185e97fba67ededd3eb025147bafcc0ca7557 Author: Olof Johansson Date: Sat Sep 15 13:53:19 2007 -0700 pasemi_mac: Clean TX ring in poll Unfortunately there's no timeout for how long a packet can sit on the TX ring after completion before an interrupt is generated, and we want to have a threshold that's larger than one packet per interrupt. So we have to have a timer that occasionally cleans the TX ring even though there hasn't been an interrupt. Instead of setting up a dedicated timer for this, just clean it in the NAPI poll routine instead. [ Resolved conflicts with napi_struct changes... -DaveM ] Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6fba848a9a4bbe03f61b22bf0e4063d7ed4c561a Author: Olof Johansson Date: Sat Sep 15 13:51:11 2007 -0700 pasemi_mac: Enable LLTX Enable LLTX on pasemi_mac: we're already doing sufficient locking in the driver to enable it. [ Resolved merge conflicts with napi_struct changes... -DaveM ] Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 38bf3184e8c4b8cd4285a24b6f69a300b32f0062 Author: Olof Johansson Date: Wed Aug 22 09:13:24 2007 -0500 pasemi_mac: Fix RX checksum flags RX side flag to use is CHECKSUM_UNNECESSARY, not CHECKSUM_COMPLETE. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 021fa22e01d3d0425d3d15df48f523b69a3a11c4 Author: Olof Johansson Date: Wed Aug 22 09:13:11 2007 -0500 pasemi_mac: Fix TX ring wrap checking The old logic didn't detect full (tx) ring cases properly, causing overruns and general badness. Clean it up a bit and abstract out the ring size checks, always making sure to leave 1 slot open. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 02df6cfa09c2ccebe685bfd54a708e1f50b00a81 Author: Olof Johansson Date: Wed Aug 22 09:13:03 2007 -0500 pasemi_mac: Batch up TX buffer frees Postpone pci unmap and skb free of the transmitted buffers to outside of the tx ring lock, batching them up 32 at a time. Also increase the count threshold to 128. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 26fcfa95aef980cab4ff1ea55979c30e772dd0dd Author: Olof Johansson Date: Wed Aug 22 09:12:59 2007 -0500 pasemi_mac: RX performance tweaks Various RX performance tweaks, do some explicit prefetching of packet data, etc. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 73344863e426a3c56c7f3ac80fc6f1d4cb10460b Author: Olof Johansson Date: Wed Aug 22 09:12:55 2007 -0500 pasemi_mac: Fix memcpy amount for short receives Fix up memcpy for short receives. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit c0efd52b8b1951c20878208fdcbab0468f816804 Author: Olof Johansson Date: Wed Aug 22 09:12:52 2007 -0500 pasemi_mac: Enable L2 caching of packet headers Enable settings to target l2 for the first few cachelines of the packet, since we'll access them to get to the various headers. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit b6e05a1b67a4b2e122d78a3f0b7ec7c779bd903c Author: Olof Johansson Date: Sat Sep 15 13:44:07 2007 -0700 pasemi_mac: Stop using the pci config space accessors for register read/writes Move away from using the pci config access functions for simple register access. Our device has all of the registers in the config space (hey, from the hardware point of view it looks reasonable :-), so we need to somehow get to it. Newer firmwares have it in the device tree such that we can just get it and ioremap it there (in case it ever moves in future products). For now, provide a hardcoded fallback for older firmwares. [ Resolved napi_struct conflicts... -DaveM ] Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit a85b94222d8b95e184941183f28b06b637cc4dee Author: Olof Johansson Date: Sat Sep 15 13:40:59 2007 -0700 pasemi_mac: Abstract out register access Abstract out the PCI config read/write accesses into reg read/write ones, still calling the pci accessors on the back end. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ced13330bb687780ce1d46f5404521cc0ea40481 Author: Olaf Hering Date: Sat Aug 25 20:32:59 2007 +0200 bmac: add simple ethtool support for network manager NetworkManager will not start dhcpd on an interface unless it reports link-up state via ethtool. Signed-off-by: Olaf Hering Signed-off-by: Jeff Garzik commit 167f53d05fccb47b6eeadac7f6705b3f2f042d03 Author: Stephen Hemminger Date: Tue Sep 25 19:01:02 2007 -0700 sky2: use pci_config access functions Use the PCI layer config access functions. The driver was using the memory mapped window in device, to workaround issues accessing the advanced error reporting registers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 555382cbfc6d2187b53888190755e56f52308cd6 Author: Stephen Hemminger Date: Wed Aug 29 12:58:14 2007 -0700 sky2: advanced error reporting Use the kernel interfaces for advanced error reporting. This should be cleaner and clear up errors on boot. For those systems with busted BIOS's that don't correctly support mmconfig, advanced error reporting will be disabled. The PCI registers for advanced error reporting start at 0x100 which is too large to be accessed by legacy functions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8c4c00f3710f9e5653ed465e88271664f3163930 Author: Stephen Hemminger Date: Wed Aug 29 12:58:13 2007 -0700 sky2: dont restrict config space access Take out the code that protects driver from accessing the PCI config space. We are old enough to run with scissors now. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit efcf6e2febbfe5b2ab497421e2f7f188e1741cf9 Author: Stephen Hemminger Date: Wed Aug 29 12:58:12 2007 -0700 sky2: document GPHY_CTRL bits Add documentation of GPHY_CTRL register bits even if driver is not using them (yet). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5b296bc9e1e5570ce60262e62af066f70180cb99 Author: Stephen Hemminger Date: Wed Aug 29 12:58:11 2007 -0700 sky2: use debugfs rename Use debugfs rename to handle device neame changes. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3f61e4278c8489c1d026a45b0903cd4230d1ec07 Author: Divy Le Ray Date: Tue Aug 21 20:49:41 2007 -0700 cxgb3 - Update internal memory management Set PM1 internal memory to round robin mode It balances access to this internal memory for multiport adapters. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 167cdf5fbc64ab8f4eae2cd6d9d0892478d569d7 Author: Divy Le Ray Date: Tue Aug 21 20:49:36 2007 -0700 cxgb3 - log adapter serial number Log HW serial number when cxgb3 module is loaded. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit c64c2eaeaaf04f9c8a303508f804ba256435d79f Author: Divy Le Ray Date: Tue Aug 21 20:49:31 2007 -0700 cxgb3 - Fatal error update Stop the MAC when a fatal error is detected. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit c9a6ce500d78932c43361eae28c3de81b3660c77 Author: Divy Le Ray Date: Tue Aug 21 20:49:26 2007 -0700 cxgb3 - tighten checks on TID values Enforce validity checks on connection ids Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit e22bb45d772b5e5c850a6223c2a3245f520de641 Author: Divy Le Ray Date: Tue Aug 21 20:49:21 2007 -0700 cxgb3 - Expose HW memory page info A HW issue requires limiting the receive window size to 23 pages of internal memory. These pages can be configured to different sizes, thus the RDMA driver needs to know the page size to enforce the upper limit. Also assign explicit enum values. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 27186dc325c3bbb937a27a2467cefd64e2505158 Author: Divy Le Ray Date: Tue Aug 21 20:49:15 2007 -0700 cxgb3 - use immediate data for offload Tx Send small TX_DATA work requests as immediate data even when there are fragments. this avoids doing multiple DMAs for small fragmented packets. The driver already implements this optimization for small contiguous packets. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 6e3f03b72c1e11e19ea233a411a782f7231ba13f Author: Divy Le Ray Date: Tue Aug 21 20:49:10 2007 -0700 cxgb3 - SGE doorbell overflow warning Log doorbell Fifo overflow Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 52b810d3055f0a49472d05500c6fea5aeabd01a6 Author: Divy Le Ray Date: Tue Aug 21 20:49:05 2007 -0700 cxgb3 - Update rx coalescing length Reduce Rx coalescing length to 12288 Large bursts from the adapter to the host create back pressure on the chip. Reducing the burst size avoids the issue. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit c8303d10daeacb5dd7714d99f03e15cc6b91a71e Author: Mark Hindley Date: Thu Aug 16 11:28:40 2007 +0100 3c59x: check return of pci_enable_device() Check return of pci_enable_device in vortex_up(). Also modify vortex_up to return error to callers. Handle failure of vortex_up in vortex_open and vortex_resume. Signed-off-by: Mark Hindley Signed-off-by: Jeff Garzik commit 79ef4a4dd44cd4f9942975b0f625bd01549a2aa9 Author: Brian King Date: Fri Aug 17 09:16:56 2007 -0500 ibmveth: Remove use of bitfields Removes the use of bitfields from the ibmveth driver. This results in slightly smaller object code. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 3449a2ab31681420515e242920e755262b4f41e9 Author: Brian King Date: Fri Aug 17 09:16:49 2007 -0500 ibmveth: Remove dead frag processing code Removes dead frag processing code from ibmveth. Since NETIF_F_SG was not set, this code was never executed. Also, since the ibmveth interface can only handle 6 fragments, core networking code would need to be modified in order to efficiently enable this support. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit ddbb4de9672097da2c0f19c6ebca0ebb5672e9b8 Author: Brian King Date: Fri Aug 17 09:16:43 2007 -0500 ibmveth: Add ethtool driver stats hooks Add ethtool hooks to ibmveth to retrieve driver statistics. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 80e536770c2fcb8d2b7be9f5a36b85c36fd5943a Author: Brian King Date: Fri Aug 17 09:16:37 2007 -0500 ibmveth: Add ethtool TSO handlers Add handlers for get_tso and get_ufo to prevent errors being printed by ethtool. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 5fc7e01cb77132f96e171a37f9f792270b1603f6 Author: Brian King Date: Fri Aug 17 09:16:31 2007 -0500 ibmveth: Implement ethtool hooks to enable/disable checksum offload This patch adds the appropriate ethtool hooks to allow for enabling/disabling of hypervisor assisted checksum offload for TCP. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit f4ff28720f45354573dcf4e0eb5a2dc5452cb3e1 Author: Brian King Date: Sat Sep 15 13:36:07 2007 -0700 ibmveth: Enable TCP checksum offload This patchset enables TCP checksum offload support for IPV4 on ibmveth. This completely eliminates the generation and checking of the checksum for packets that are completely virtual and never touch a physical network. A simple TCP_STREAM netperf run on a virtual network with maximum mtu set yielded a ~30% increase in throughput. This feature is enabled by default on systems that support it, but can be disabled with a module option. Signed-off-by: Brian King Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit df950828b0ee51ff63c49c67d561bfd3d6096788 Author: Komuro Date: Mon Aug 13 09:45:41 2007 +0900 dl2k: add Sundance/Tamarack TC902x Gigabit Ethernet Adapter support Actually, D-Link modified the VendorID/ProductID of the TC902x. The TC902x is the original chipset. Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit b6aec32a7774a398c4a194ad6b6392528b5a7a5b Author: Rafael J. Wysocki Date: Tue Aug 14 20:09:02 2007 +0200 uli526x: Add suspend and resume routines (updated) Add suspend/resume support to the uli526x network driver (tested on x86_64, with 'Ethernet controller: ALi Corporation M5263 Ethernet Controller, rev 40'). This patch is based on the suspend/resume code in the tg3 driver. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit 917270c6ed7a99d4300ce57508246813ea8613b0 Author: Don Fry Date: Sun Aug 26 21:22:32 2007 -0700 pcnet32: add suspend and resume capability Add suspend and resume capability to the driver. Tested both to ram and to disk on x86_64 platform. Signed-off-by: Don Fry Signed-off-by: Jeff Garzik commit a11a6544c0bf6c0871f2379ad0c5ad0210691e73 Author: Oliver Neukum Date: Fri Aug 3 13:52:19 2007 +0200 support for USB autosuspend in the asix driver this implements support for USB autosuspend in the asix USB ethernet driver. Signed-off-by: Oliver Neukum Signed-off-by: Jeff Garzik commit bc7f75fa97884d41efbfde1397b621fefb2550b4 Author: Auke Kok Date: Mon Sep 17 12:30:59 2007 -0700 [E1000E]: New pci-express e1000 driver (currently for ICH9 devices only) This driver implements support for the ICH9 on-board LAN ethernet device. The device is similar to ICH8. The driver encompasses code to support 82571/2/3, es2lan and ICH8 devices as well, but those device IDs are disabled and will be "lifted" from the e1000 driver over one at a time once this driver receives some more live time. Changes to the last snapshot posted are exclusively in the internal hardware API organization. Many thanks to Jeff Garzik for jumping in and getting this organized with a keen eye on the future layout. [ Integrated napi_struct patch from Auke as well... -DaveM ] Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit cbdb9e43d1fc50cfa509b1006e7252dc4ea53aa0 Author: John W. Linville Date: Tue Aug 28 17:35:02 2007 -0400 [PATCH] libertas: remove unused adhoc_rates_b definition Signed-off-by: John W. Linville commit 4ecd41bd0ff5dfcb4f2c59d980f9196c160882be Author: Andrew Morton Date: Tue Aug 21 02:15:45 2007 -0700 [PATCH] libertas: printk warning fixes drivers/net/wireless/libertas/if_cs.c: In function 'if_cs_prog_helper': drivers/net/wireless/libertas/if_cs.c:462: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/net/wireless/libertas/if_cs.c: In function 'if_cs_prog_real': drivers/net/wireless/libertas/if_cs.c:538: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 655b4d16ac5e551e5c8dac5812156edfd87bf822 Author: Jesper Juhl Date: Fri Aug 24 11:48:16 2007 -0400 [PATCH] net: Kill some unneeded allocation return value casts in libertas kmalloc() and friends return void*, no need to cast it. Signed-off-by: Jesper Juhl Signed-off-by: John W. Linville commit 4b04f19625dcf43171b0b8d53be050a8f144c43d Author: Brajesh Dave Date: Mon Aug 20 13:09:13 2007 -0400 [PATCH] libertas: advertise 11g ad-hoc rates Advertise support for 802.11g bitrates when starting adhoc networks, not just 802.11b bitrates. Signed-off-by: Brajesh Dave Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 70500f5443be1b27ea2c9ab71ce9dc2250af7b19 Author: Marek Vašut Date: Mon Aug 20 12:55:41 2007 -0400 [PATCH] libertas: region code values specified as 8bit This patch strips away possible mess in regioncode (eg. on my card - 88W8305 chipset - I get 0x3031 instead of expected 0x0031 and as a result the driver defaults to USA region which is obviously incorrect). Following patch fixes the issue. Signed-off-by: Marek Vasut Signed-off-by: John W. Linville commit 794760f750655d987499d7a5034519afc84af63b Author: Pierre Ossman Date: Mon Aug 20 12:24:42 2007 -0400 [PATCH] libertas: properly end commands on hardware failure Make sure that errors reported by the hardware layer is properly handled. Otherwise commands tend to get stuck in limbo. Signed-off-by: Pierre Ossman Signed-off-by: John W. Linville commit b6e99dd6e2c5262e3c2b976d1d5f2c9405433d9a Author: Dan Williams Date: Mon Aug 20 12:22:15 2007 -0400 [PATCH] libertas: send reset command directly instead of calling libertas_reset_device Ensures that any platform specific code that might live in libertas_reset_device (for example, OLPC tells the EC to do a GPIO-toggled reset of the wireless from libertas_reset_device) isn't called. Could be handled better by interface-specific callbacks and a flag for "other hardware reset". Signed-off-by: Dan Williams Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit 64f104e89b2b30107a21c5f05c3e2ffa6291e129 Author: Dan Williams Date: Mon Aug 20 11:45:16 2007 -0400 [PATCH] libertas: don't stomp on interface-specific private data Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 954ee164f4f4598afc172c0ec3865d0352e55a0b Author: Dan Williams Date: Mon Aug 20 11:43:25 2007 -0400 [PATCH] libertas: reorganize and simplify init sequence This patch moves all firmware load responsibility into the interface-specific code and gets rid of the firmware pointer in the generic card structure. It also removes 3 fairly unecessary callbacks: hw_register_dev, hw_unregister_dev, and hw_prog_firmware. It also makes the init sequence from interface probe functions more logical, as there are paired add/remove and start/stop calls into generic libertas code. Because the USB driver code uses the same TX URB callback for both firmware upload (where the generic libertas structure isn't initialized yet) and for normal operation (where it is), some bits of USB code have to deal with 'priv' being NULL. All USB firmware upload bits have been changed to not require 'priv' at all, but simply the USB card structure. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit b1b1907dceadddc7d7317f8ae85a5efec44125d8 Author: Dan Williams Date: Mon Aug 20 11:10:45 2007 -0400 [PATCH] libertas: fix inadvertant removal of bits from commit 831441862956fffa17b9801db37e6ea1650b0f69 Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 7563a0b4b5c28b9695f7136fa0ef0cc4cbe1b0c6 Author: Mariusz Kozlowski Date: Tue Aug 7 00:50:22 2007 +0200 [PATCH] drivers/net/wireless/wl3501_cs.c: remove redundant memset Signed-off-by: Mariusz Kozlowski Signed-off-by: John W. Linville commit 475fed1e22e58508cf50c882db68c7b29842d4d5 Author: Daniel Drake Date: Mon Aug 6 02:25:18 2007 +0100 [PATCH] zd1211rw: Add ID for ZyXEL M-202 XtremeMIMO Tested by Nathen Meyers FCC ID: SI5WUB221Z zd1211b chip 0586:340a v4810 high 00-13-49 AL2230_RF pa0 ----S Despite the product name, I'm pretty sure this isn't a MIMO device. It appears just to be a normal ZD1211B and we have never heard of these devices having more than 1 RF. I guess they named this product this way to make it appear that it fits in with the rest of their XtremeMIMO product range. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 64f222cce2605420470d7a1f678783bdc2754af6 Author: Ulrich Kunitz Date: Mon Aug 6 01:24:31 2007 +0100 [PATCH] zd1211rw: consistent handling of ZD1211 specific rates As pointed out by Daniel Drake, the zd1211rw driver used several different rate values and names throughout the driver. He has written a patch to change it and tweaked it after some pretty wild ideas from my side. But the discussion helped me to understand the problem better and I think I have nailed it down with this patch. A zd-rate will consist from now on of a four-bit "pure" rate value and a modulation type flag as used in the ZD1211 control set used for packet transmission. This is consistent with the usage in the zd_rates table. If possible these zd-rates should be used in the code. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 8e97afe56984237af2115368ca0a5c525049cbd2 Author: Daniel Drake Date: Mon Aug 6 01:24:19 2007 +0100 [PATCH] zd1211rw: Add ID for Sitecom WL-162 Tested by Giuseppe Lippolis zd1211b chip 0cde:001a v4810 high 00-60-b3 AL2230_RF pa0 g--NS Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ffe143741f9e0fc3731fe6fe977a2273da4837bd Author: Ulrich Kunitz Date: Mon Aug 6 01:23:54 2007 +0100 [PATCH] zd1211rw: removed noisy debug messages While developing the driver we added a lot of debug messages for setting hardware registers. These messages make the reading of the log files difficult and are of no use anymore. This patch removes those messages in zd_chip.c. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 5dcddfae63bd26da0f11a8e40f0ae555b5ac624e Author: Jeremy Fitzhardinge Date: Tue Aug 7 14:56:42 2007 -0700 xen-netfront: remove dead code This patch removes some residual dead code left over from removing the "flip" receive mode. This patch doesn't change the generated output at all, since gcc already realized it was dead. This resolves the "regression" reported by Adrian. Signed-off-by: Jeremy Fitzhardinge Cc: Adrian Bunk Cc: Michal Piotrowski Signed-off-by: Jeff Garzik commit df570f93337ddb46f1e30dd167c27b5fdcec637b Author: Richard Knutsson Date: Tue Aug 14 01:49:40 2007 +0200 drivers/net/3c505: Convert to generic boolean Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 2d6d749d124d93bd03982467f515b1b88f4c1e44 Author: Richard Knutsson Date: Tue Aug 14 02:07:09 2007 +0200 drivers/net/tokenring: Convert to generic boolean Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit c821d55c67213e96e6e0feb7418746a25fea6e4d Author: Surya Prabhakar N Date: Mon Aug 13 15:43:30 2007 +0530 drivers/net/tokenring/3c359.c Hi, Replacing kmalloc with kzalloc and cleaning up memset in drivers/net/tokenring/3c359.c Signed-off-by: Surya Prabhakar Signed-off-by: Jeff Garzik commit b1c9e0f7806d1f627f534fd0f83f235087496f7a Author: Divy Le Ray Date: Fri Aug 10 23:29:33 2007 -0700 cxgb3 - MAC workaround update Update the MAC workaround to deal with switches that do not honor pause frames. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit acb2cc8b20d6cb9e65c1e442d59a2449d8774157 Author: Mariusz Kozlowski Date: Sat Sep 15 13:14:05 2007 -0700 [PATCH] drivers/net: remove superfluous memset This patch covers something like this: dev = alloc_*dev(... ... priv = netdev_priv(dev); memset(priv, 0, sizeof(*priv)); The memset() here is superfluous. alloc_netdev() uses kzalloc() to allocate needed memory so there is no need to zero the priv region twice. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit bf1e9a080d7766bd65b8d8eb837ecde8b03dcc31 Author: Jesper Juhl Date: Fri Aug 10 14:05:20 2007 -0700 Clean up duplicate includes in drivers/net/ This patch cleans up duplicate includes in drivers/net/ Signed-off-by: Jesper Juhl Acked-by: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 10096974adb6d62b9f8cf65c266632ea73040936 Author: Jeff Garzik Date: Tue Aug 14 01:24:56 2007 -0400 [netdrvr] ns83820: add ethtool media support Split out from patch authored by Dan Faerch . Signed-off-by: Jeff Garzik commit 2808d2e83f9b48c2f68930b6746fed8efabc41e9 Author: Mariusz Kozlowski Date: Wed Aug 8 13:20:26 2007 +0200 net/tulip/xircom_cb.c: remove superfulous priv assignment Unpatched version does sth like this: dev = alloc_etherdev(... private = netdev_priv(dev); ... dev->priv = private; which doesn't make much sense (does it?) because this is done in alloc_netdev() already. struct net_device *alloc_netdev(... { ... if (sizeof_priv) dev->priv = netdev_priv(dev); This patch removes superfluous code. Signed-off-by: Mariusz Kozlowski drivers/net/tulip/xircom_cb.c | 32853 -> 32831 (-22 bytes) drivers/net/tulip/xircom_cb.o | 123984 -> 123984 (0 bytes) drivers/net/tulip/xircom_cb.c | 1 - 1 file changed, 1 deletion(-) Signed-off-by: Jeff Garzik commit 92c487996dfc01c6c1f7c660d076037a3a01a6ae Author: Sivakumar Subramani Date: Mon Aug 6 05:38:19 2007 -0400 S2IO: Fixed Link LED issue when MSI-X is enabled -Fixed Link LED issue when MSI-X is enabled. Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit c77dd43e77c530a12a466865805d2068ede96860 Author: Sivakumar Subramani Date: Mon Aug 6 05:36:28 2007 -0400 S2IO: Fixes in MSIX related code. - Calling store_xmsi_data to store the MSI-X datas during initialization in s2io-init_nic function - Disabling NAPI when MSI-X is enabled - Freeing sp->entries and sp->s2io_entries in s2io_rem_isr Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 8abc4d5b84f23edccf405aa591aae7d9b967e8d2 Author: Sivakumar Subramani Date: Sat Sep 15 13:11:34 2007 -0700 [S2IO]: Making MSIX as default intr_type - Making MSIX as default intr_type - Driver will test MSI-X by issuing test MSI-X vector and if fails it will fallback to INTA Signed-off-by: Sivakumar Subramani Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 28006c65a74403a8c4a1846aa7f08981e0d0b44a Author: Jeff Garzik Date: Sat Sep 15 12:36:46 2007 -0700 [8139too]: tab-align enums and structs; remove dead code * (main change) tab-align hardware register value enums, and hw struct * MMIO_FLUSH_AUDIT_COMPLETE has been defined to 1 for a while. Remove the code activated when it is set to zero. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6cc92cddb13a7874dcd7751c84b0e61738815077 Author: Jeff Garzik Date: Wed Aug 8 02:16:04 2007 -0400 [netdrvr] 8139cp, 8139too: convert to generic DMA Signed-off-by: Jeff Garzik commit ae94607d19028f9805e82da8975c66d3858fcfd8 Author: Mariusz Kozlowski Date: Wed Aug 1 00:11:50 2007 +0200 drivers/net/via-velocity.c: mostly kmalloc + memset conversion to kcalloc Signed-off-by: Mariusz Kozlowski drivers/net/via-velocity.c | 88263 -> 88120 (-143 bytes) drivers/net/via-velocity.o | 254264 -> 253828 (-436 bytes) drivers/net/via-velocity.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) Signed-off-by: Jeff Garzik commit c477f3348abb5f6fb8b627cfdb1d7ae4b8fe613b Author: Mariusz Kozlowski Date: Tue Jul 31 23:58:36 2007 +0200 drivers/net/sb1250-mac.c: kmalloc + memset conversion to kcalloc Signed-off-by: Mariusz Kozlowski drivers/net/sb1250-mac.c | 76286 -> 76199 (-87 bytes) drivers/net/sb1250-mac.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) Signed-off-by: Jeff Garzik commit a967b14035c5efe4c92623dde3776ffc7a79118c Author: Jeff Garzik Date: Thu Aug 2 16:31:25 2007 -0400 drivers/net/skfp: Remove dead code referencing pci_find_device() Signed-off-by: Jeff Garzik commit bbfb86c5776ff481d246fcd5d8deb67701e05c00 Author: Ralf Baechle Date: Wed Jul 25 12:31:57 2007 +0100 IOC3: Switch hw checksumming to ethtool configurable. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit c54f5c240239fb8391a3b541f916764dd496f2e6 Author: Denis Cheng Date: Wed Jul 18 15:24:49 2007 +0800 drivers/net/cxgb3: removed several unneeded zero initilization Cc: linux-bugs@chelsio.com Signed-off-by: Denis Cheng Signed-off-by: Jeff Garzik commit eda105317fece79fa7e8478214ff7450f5a3f9dd Author: Yoann Padioleau Date: Mon Jul 23 15:18:21 2007 +0200 dev->priv to netdev_priv(dev), drivers/net/tokenring/ Replacing accesses to dev->priv to netdev_priv(dev). The replacment is safe when netdev_priv is used to access a private structure that is right next to the net_device structure in memory. Cf http://groups.google.com/group/comp.os.linux.development.system/browse_thread/thread/de19321bcd94dbb8/0d74a4adcd6177bd This is the case when the net_device structure was allocated with a call to alloc_netdev or one of its derivative. Here is an excerpt of the semantic patch that performs the transformation @ rule1 @ type T; struct net_device *dev; @@ dev = ( alloc_netdev | alloc_etherdev | alloc_trdev ) (sizeof(T), ...) @ rule1bis @ struct net_device *dev; expression E; @@ dev->priv = E @ rule2 depends on rule1 && !rule1bis @ struct net_device *dev; type rule1.T; @@ - (T*) dev->priv + netdev_priv(dev) PS: I have performed the same transformation on the whole kernel and it affects around 70 files, most of them in drivers/net/. Should I split my patch for each subnet directories ? (wireless/, wan/, etc) Thanks to Thomas Surrel for helping me refining my semantic patch. Signed-off-by: Yoann Padioleau 3c359.c | 58 +++++++++++++++++++++++++++++----------------------------- ibmtr.c | 38 +++++++++++++++++++------------------- lanstreamer.c | 32 ++++++++++++++++---------------- madgemc.c | 4 ++-- olympic.c | 36 ++++++++++++++++++------------------ tmspci.c | 4 ++-- 6 files changed, 86 insertions(+), 86 deletions(-) Signed-off-by: Jeff Garzik commit af096046f63a065b692018cd4b8f5e7525c3e56a Author: Jeff Garzik Date: Tue Jul 24 01:30:36 2007 -0400 [netdrvr] skfp: remove a bunch of dead code The driver has not compiled in anything except PCI support for many years (see drivers/net/skfp/Makefile). This driver is also unmaintained for many years, so arguments for keeping the cross-OS, cross-bus (ISA, EISA, MCA) code do not exist. Signed-off-by: Jeff Garzik commit 7856a541ad83e84d260abb652c39299972ba310c Author: Dan Williams Date: Fri Aug 3 09:43:03 2007 -0400 [PATCH] libertas: bump driver version Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 8362cd413e8116306fafbaf414f0419db0595142 Author: Dan Williams Date: Fri Aug 3 09:40:55 2007 -0400 [PATCH] libertas: fix sparse-reported problems A few fields being converted to the wrong sized type, and a few missed endian conversions. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit c7fdf26995d5d6ebf1c3314ad001b9a4983c3f04 Author: Dan Williams Date: Thu Aug 2 13:20:29 2007 -0400 [PATCH] libertas: better descriptions for association errors Describe the association response status code the firmware returns, based on mail to libertas-dev from Ronak. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 5612c0140ac58b51209a24c8fd6a92ceb472aabe Author: Dan Williams Date: Thu Aug 2 13:20:12 2007 -0400 [PATCH] libertas: ignore spurious mesh autostart events Don't trust the firmware to always send them at the right time, ignore them when the driver thinks mesh autostart is disabled. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 81173e34d454c353d9f0a53760609f3b9d30a311 Author: Dan Williams Date: Thu Aug 2 13:19:56 2007 -0400 [PATCH] libertas: fix misspelling in debug message Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 63f0023bc34073bea8452a4770540c954f98208f Author: Luis Carlos Cobo Date: Thu Aug 2 13:19:24 2007 -0400 [PATCH] libertas: pass boot2 version to firmware Boot2 version used to be hardcoded in the uploaded firmware, this patch preserves the boot2 version before uploading firmware and sends it to the firmware again on resume. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 2afc0c5d71a3dec6d35f3a234ed986d635ef41ad Author: Dan Williams Date: Thu Aug 2 13:19:04 2007 -0400 [PATCH] libertas: push WEXT scan requests to a work queue Push WEXT scan requests to a workqueue and have each partial scan queue the next part, then only report results when the complete scan has finished. Full scans don't go through the work queue. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit b031ac10264fa9b805d84b4a440407ac950390cf Author: Eugene Teo Date: Thu Aug 2 13:18:07 2007 -0400 [PATCH] drivers/net/wireless/libertas/cmd.c: fix adapter->driver_lock dereference adapter is NULL if cmdnode is not. Signed-off-by: Eugene Teo Signed-off-by: John W. Linville commit 5707708111ca6c4e9a1160acffdc98a98d95e462 Author: Dan Williams Date: Thu Aug 2 13:17:41 2007 -0400 [PATCH] libertas: fix assignment of WEP key type keytype is a u8 Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 965f8bbc6c92233600b176f4c80299f6766df9bd Author: Luis Carlos Cobo Date: Thu Aug 2 13:16:55 2007 -0400 [PATCH] libertas: monitor mode support for OLPC firmware Driver support for the monitor mode support that will be available in the next OLPC 'bleeding edge' Marvell firmware release (most likely, 5.110.16.p2). To activate monitor mode, echo mode > /sys/class/net/{ethX,mshX}/device/libertas_rtap where mode is the hex mask that specifies which frames to sniff (in short, 0x1 for data, 0x2 for all management but beacons, 0x4 for beacons). Any non zero mode will activate the monitor mode, inhibiting transmission in ethX and mshX interfaces and routing all the incoming traffic to a new rtapX interface that will output the packets in 802.11+radiotap headers format. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 9483f03150cbfa1f706355b7f9d218d6086c6fce Author: Jean Tourrilhes Date: Thu Aug 2 13:16:30 2007 -0400 [PATCH] libertas: fix a few wext abuses... o SIOCGIWNAME is not designed to return the version number of the driver. On the other hand, you are free to abuse SIOCGIWNICKN for that purpose. o Don't attempt to fix the WE19/WE20 transition in the driver, because your fixes are bogus, and redundant with the code in the kernel (you may endup with +2, you can't read 32 char ESSID...). o In SIOCSIWTXPOW, if you specified in iwrange that you want dBm, you should only get dBm, which allow to reduce code bloat. Signed-off-by: Jean Tourrilhes Signed-off-by: John W. Linville commit d21b31fd53626f9c1d14fc676793dbe86b44d1c6 Author: Luis Carlos Cobo Date: Thu Aug 2 13:16:02 2007 -0400 [PATCH] libertas: keep mesh autostart enabled while asleep After loading the firmware, mesh autostart will be disabled. After that, the user will still be able to enable or disable it at will. On suspend, it will be always activated and later on resume it will go back to the state it had before going to sleep. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit b37e5842f5ab66f8d0533ee62ffe35c26ae800a3 Author: Luis Carlos Cobo Date: Thu Aug 2 13:15:40 2007 -0400 [PATCH] libertas: revert CAPINFO_MASK to its original value CAPINFO_MASK changed on commits 981f187b and a091095b. Reverting to the original value. Also move CAPINFO_MASK into the sole user, join.c. CAPINFO_MASK should be in host CPU byte order; capability is converted to device byte order elsewhere. This fixes OLPC ticket #2161 Signed-off-by: Luis Carlos Cobo Acked-by: Dan Williams Signed-off-by: John W. Linville commit 00af0157e0a603e2a2ce0896179f2dd43f0f28ab Author: Dan Williams Date: Thu Aug 2 13:14:56 2007 -0400 [PATCH] libertas: push mesh beacon bit to userspace in scan results Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0edef215e405fef3c6569511a9aebeeb3f6cd799 Author: Dan Williams Date: Thu Aug 2 13:14:29 2007 -0400 [PATCH] libertas: send association events on adhoc reassociation Send association event to userspace when reassociating to the same ad-hoc network, because it's still an association. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9556d2120ceecc158b324fa01e30704ff9f42ae3 Author: Holger Schurig Date: Thu Aug 2 13:14:07 2007 -0400 [PATCH] libertas: fix two debug statements in cmdresp.c Purely cosmetic: this moves an lbs_deb_enter() to the proper place and changes an erraneous lbs_deb_enter_args() into lbs_deb_leave_args() Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit bee093d6132569eee13b2c45058b550c9544a5b8 Author: Holger Schurig Date: Thu Aug 2 13:13:00 2007 -0400 [PATCH] libertas: remove bss_descriptor->timestamp Noone used this variable. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a2235ed40210081e51bec4bb1be64e4b3511501e Author: Holger Schurig Date: Thu Aug 2 13:12:45 2007 -0400 [PATCH] libertas: remove bss_descriptior->networktsf This value was parsed out, but then nowhere used ... except in some debugfs output. I can't imagine anyone wanting to use this value for anything real (as no other driver exports it), so bye-bye. Along this, made the columns of /sys/kernel/debug/libertas_wireless/*/getscantable align again. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 4f2fdaaf0e4209bff3b18dc14c915b61f5fa5cd2 Author: Holger Schurig Date: Thu Aug 2 13:12:27 2007 -0400 [PATCH] libertas: remove adapter->scantype scantype was initialized with CMD_SCAN_TYPE_ACTIVE, but there is no code that would ever change it, so we can use that variable directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d65ead886a193682f88b07aaf11d46127735a2b5 Author: Holger Schurig Date: Thu Aug 2 13:12:12 2007 -0400 [PATCH] libertas: remove adapter->scanmode scanmode was initialized with CMD_BSS_TYPE_ANY, but there is no code that ever can store another value there, so it can go away. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 2c85103da3c88a06a7c01eece709482d85eff07f Author: Holger Schurig Date: Thu Aug 2 13:11:38 2007 -0400 [PATCH] libertas: remove adapter->beaconperiod beaconperiod was initialized with MRVDRV_BEACON_INTERVAL, but there is no code that would ever change it's value. We can use the define directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 85c93e5189b7402b4f9f4324c284bb91e8e8fb85 Author: Holger Schurig Date: Thu Aug 2 13:11:19 2007 -0400 [PATCH] libertas: remove adapter->adhoc_grate_enabled The variable was initialized with 0 (false). There is no code that would ever change it, so we can use the false-patch directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0aabc0a5d5657df254255c9049a97cc96229bcba Author: Holger Schurig Date: Thu Aug 2 13:10:59 2007 -0400 [PATCH] libertas: remove adapter->listeninterval listeninterval was initialized with MRVDRV_DEFAULT_LISTEN_INTERVAL, but there exists that would ever change it. So we can use this define directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 956deb867a97ac137c164a5d2d12b0c82fb6776d Author: Holger Schurig Date: Thu Aug 2 13:10:41 2007 -0400 [PATCH] libertas: remove adapter->regiontableindex The value was computed, but then never used. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ae596ce2f77d1542fe44ea483bd0ca7f61baeccd Author: Holger Schurig Date: Thu Aug 2 13:10:05 2007 -0400 [PATCH] libertas: remove adapter->atimwindow This varaible was initialized with 0 but there is no code that would ever change it's value. So it can go away. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 56c4656e84d068ecc4da670799216e5b2aaee50e Author: Holger Schurig Date: Thu Aug 2 13:09:49 2007 -0400 [PATCH] libertas: remove adapter->multipledtim multipledtim was initialized with MRVDRV_DEFAULT_MULTIPLE_DTIM and then kept at that value, so we could use that define directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 252cf0d10f76d3edcd808d462dcfbd544875a0be Author: Holger Schurig Date: Thu Aug 2 13:09:34 2007 -0400 [PATCH] libertas: remove adapter->locallisteninterval locallisteninterval was initialized with 0, but there is no code that changes it, rendering it rather useless. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 97605c3eb3dee943a45584be92c46be1305b3ef5 Author: Holger Schurig Date: Thu Aug 2 13:09:15 2007 -0400 [PATCH] libertas: remove adapter->nullpktinterval No code ever initialized this variable, so it was 0 because of kzalloc(). But no other code changes it, making it rather useless. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a783f1ee5b112a0258762877ec7c1ce8810f3cd8 Author: Holger Schurig Date: Thu Aug 2 13:08:24 2007 -0400 [PATCH] libertas: remove adapter->{data,bcn}_avg_factor Those two variables were initialized with some default values, but there is no code that would ever change them. So we could use as well the defaults directly. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit caef47a0dc2b17ea6fb0119d3678b4b21ae70daa Author: Holger Schurig Date: Thu Aug 2 13:07:56 2007 -0400 [PATCH] libertas: remove adapter->rxpd_rate No code uses the contents of this variable, so it can go. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit cad9d9b17a4ab80da1593de004a1163b359de268 Author: Holger Schurig Date: Thu Aug 2 13:07:15 2007 -0400 [PATCH] libertas: remove adapter->txrate The value of txrate was only set by a CMD_802_11_TX_RATE_QUERY command, but there was no code in the driver that ever issued this command. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit b20c520763a6fe1aabde27f6ba017a67f22f90d5 Author: Dan Williams Date: Thu Aug 2 13:06:54 2007 -0400 [PATCH] libertas: fix WEXT quality reporting Found by Ronak and others at Marvell. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit fcff0e0856351b201016cd9267cadcf6a8e988d5 Author: Holger Schurig Date: Thu Aug 2 13:06:11 2007 -0400 [PATCH] libertas: remove adapter->pkttxctrl The variable was initialized to 0 and nowhere else changed, so basically the per-packet TX control wasn't used. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit e2aa334bee4ae9fe27f26b0732c0443d2f11a8af Author: Holger Schurig Date: Thu Aug 2 13:05:53 2007 -0400 [PATCH] libertas: remove adapter->scanprobes The variable was initialized to 0 and nowhere else to anything different. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 6e22a855b27ddc0725c134cc428ee668e56ac9f8 Author: Holger Schurig Date: Thu Aug 2 13:05:32 2007 -0400 [PATCH] libertas: remove adapter->prescan The value 1 was assigned to it and there was nowhere any code that would have changed that to 0. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit fdde7084e033263f48d26d5b24ecf626aed29b5b Author: Holger Schurig Date: Thu Aug 2 13:05:08 2007 -0400 [PATCH] libertas: remove adapter->{rx,tx}antenna There was nowhere any code that used the values of those variables. This patch also removes two static functions that are now unused. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 4d4ce1ad02f02e593086fabdad69953ecbd99d9c Author: Holger Schurig Date: Thu Aug 2 13:04:28 2007 -0400 [PATCH] libertas: remove unused adapter->prev_XXXX variables There were just used in some debug output, but nowhere else. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 27590d06e136167101c8c6347e7c2885c7f014b9 Author: Holger Schurig Date: Wed Oct 3 17:25:41 2007 -0700 [PATCH] add support for Marvell 8385 CF cards This patch adds support for Marvell based 8385 compact flash cards. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9cdc6d295b97dc4a36569ddd0b0540aeba351149 Author: Luis Carlos Cobo Date: Thu Aug 2 11:55:22 2007 -0400 [PATCH] libertas: Avoid MESH_AUTOSTARTED spam on console Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 8ff12da121af175a14c4cedbba0fd16ff0cfc07a Author: Holger Schurig Date: Thu Aug 2 11:54:31 2007 -0400 [PATCH] libertas: use LBS_DEB_HOST for host-to-card communications ... and LBS_DEB_CMD for command execution. Also tidies misc comments to give a consistent output. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a6c8700f36cd8f217420bbe26721094824fab8de Author: Holger Schurig Date: Thu Aug 2 11:54:10 2007 -0400 [PATCH] libertas: use LBS_DEB_HOST for host-to-card communications ... and LBS_DEB_CMD for command execution. Also tidies misc comments to give a consistent output. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 6b63cd0f420c3c3002024da6c9eff252a3772021 Author: Holger Schurig Date: Thu Aug 2 11:53:36 2007 -0400 [PATCH] libertas: remove a hundred CMD_RET_xxx definitions types.h contains the same amount of CMD_RET_xxx and CMD_xxx definitions. They contains the same info: the firmware command opcode and, when the firmware sends back a result, the command opcode ORed with 0x8000. Having the same data twice in the source code is redundant and can lead to errors (e.g. if you update or delete only one instance). This patch removed all CMD_RET_xxx definitions and introduces a simple CMD_RET() macro. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ece561919326236c7fb791a5e883f0eb76af029e Author: Holger Schurig Date: Thu Aug 2 11:53:06 2007 -0400 [PATCH] libertas: make the hex dumper nicer Currently, when you define LBS_DEB_HEX, you get every hex dump in the whole driver, e.g. for LBS_DEB_CMD, LBS_DEB_RX, LBS_DEB_TX etc. This patch makes sure that you only get the hexdump that you're interested in. Renamed lbs_dbg_hex() into lbs_deb_hex(), like the other lbs_deb_XXX() macros. Made lbs_deb_hex() issue a line feed (and a new prompt) after 16 bytes. As lbs_deb_hex() now prints the ":" after the prompt by itself, removed the misc colons in the various *.c files. lbs_deb_XXX() now print the debug category as well. As lbs_deb_XXX() --- and especially lbs_deb_11d() --- now print the category, I removed various "11D:" prefixes in 11d.c as well. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a9f38d023b65c9fe2602303c1101c868be4fcbcc Author: Luis Carlos Cobo Date: Thu Aug 2 11:52:29 2007 -0400 [PATCH] Support for mesh autostart deactivation through sysfs echo 0 > /sys/class/net/mshX/autostart_enabled This is supported from Marvell firmware version 5.110.16.p0 (to be released). Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit f455eb1a4ba2bf0ff1bde7844bf3a811269d2d79 Author: Holger Schurig Date: Thu Aug 2 11:51:18 2007 -0400 [PATCH] libertas: remove debugmode There is nowhere any place that set's this variable. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0a6d0555e90850b7ce90e8937858f11b6b98b6d4 Author: Holger Schurig Date: Thu Aug 2 11:50:35 2007 -0400 [PATCH] libertas: tune hardware info output This changes the output of hardware related info from: libertas: GET_HW_SPEC: FWReleaseVersion- 5.0.11.p0 libertas: GET_HW_SPEC: Permanent addr- 0:16:41:72:f6:a8 libertas: GET_HW_SPEC: hwifversion=0x2 version=0x213 to: libertas: GET_HW_SPEC: FWReleaseVersion: 5.0.11.p0 libertas: GET_HW_SPEC: Permanent addr: 00:16:41:72:f6:a8 libertas: GET_HW_SPEC: hwifversion: 0x2, version: 0x213 Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 3cf840914bd467fa4cc76af1a01bba4d2813131c Author: Holger Schurig Date: Thu Aug 2 11:50:12 2007 -0400 [PATCH] libertas: access mesh_dev more carefully The CF/SDIO firmware doesn't support Mesh, so priv->mesh_dev is NULL there. Protect all accesses. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c95c7f930ec6fee029c8e7957ab95b3967578070 Author: Holger Schurig Date: Thu Aug 2 11:49:45 2007 -0400 [PATCH] libertas: uppercase some #defines Usually constants defined by #define are in ALL_UPPERCASE. This patch fixes this. I also shuffled the bits around so that they match the bit positions in the host-interrupt-state register of the CF/SDIO card :-) Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ac558ca2ae878bd7a77831cda684702a2fa23d95 Author: Holger Schurig Date: Thu Aug 2 11:49:06 2007 -0400 [PATCH] libertas: make more functions static & remove unused functions Some functions where declared in header files, but used only once. They are now static functions. After doing this, I found out that some functions weren't used at all. I removed this dead code. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c23a24f6ae083e058ed1e9472979df09915ffdf5 Author: Holger Schurig Date: Thu Aug 2 11:45:30 2007 -0400 [PATCH] libertas: fix one more sparse warning adhoc_rates_b is only used locally, so make it static Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 1df4e8fe91d5bab3fd7ae7f115e43c52010cd4ad Author: Holger Schurig Date: Thu Aug 2 11:45:12 2007 -0400 [PATCH] libertas: remove fw.c Firmware download is quite different for different hardware. The SDIO and CF cards have two flat files that need to be downloaded, whereas the USB driver needs only one file, but with an internal structure. The code that handles this (USB only) structured file is currently in fw.c. This patch moves this code into if_usb.c. The remaining functions in fw.c have not much to do with firmware, they are various card- and network-stack initialisation functions. I've moved them into main.c. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8c5127657549d055ac9d709cdea73902a6ef392c Author: Dan Williams Date: Thu Aug 2 11:40:45 2007 -0400 [PATCH] libertas: simplify and clean up data rate handling Remove unused/duplicated fields and consolidate static data rate arrays, for example the libertas_supported_rates[] and datarates[] arrays in the bss_descriptor structure, and the libertas_supported_rates field in the wlan_adapter structure. Introduce libertas_fw_index_to_data_rate and libertas_data_rate_to_fw_index functions and use them everywhere firmware requires a rate index rather than a rate array. The firmware requires the 4 basic rates to have the MSB set, but most other stuff doesn't, like WEXT and mesh ioctls. Therefore, only set the MSB on basic rates when pushing rate arrays to firmware instead of doing a ton of (rate & 0x7f) everywhere. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit e52414728b930f0adcbc38c6498dd03b3568fe99 Author: Dan Williams Date: Thu Aug 2 11:39:19 2007 -0400 [PATCH] libertas: wlan_ -> libertas_ function prefix renames for main.c Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit eedc2a319154a64f5ca7f281c92b7af3691fe73c Author: Dan Williams Date: Thu Aug 2 11:36:22 2007 -0400 [PATCH] libertas: move generic firmware reset command to common code It's not USB specific, so move it out of the USB interface code. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ffcae953ac021f5051a201c18e133cb0ce38c2b9 Author: Dan Williams Date: Thu Aug 2 11:35:46 2007 -0400 [PATCH] libertas: fix more mixed-case abuse Mistakently introduced by a previous patch to upper-case all command constants. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 125dcabf724bdfbe55240aef3b35b0ca16f3d61d Author: Dan Williams Date: Thu Aug 2 11:34:47 2007 -0400 [PATCH] libertas: bump version to 322.p1 Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 276c015e1bf8d158df336bc2676c142e4bc391c1 Author: Dan Williams Date: Thu Aug 2 11:34:24 2007 -0400 [PATCH] libertas: new mesh control knobs Support for new mesh control knobs on firmware 5.220.11.p4: Signed-off-by: Luis Carlos Cobo Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit fe3361507af44d00d5b42b91c1626321765a11bc Author: Dan Williams Date: Thu Aug 2 11:32:25 2007 -0400 [PATCH] libertas: remove thread.h and make kthread usage clearer Remove the thread.h abstractions and opencode kthread stuff to make it clearer. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 2ca10e6d6a3052e7a8380b20588a7b1985ea1197 Author: Dan Williams Date: Thu Aug 2 11:31:49 2007 -0400 [PATCH] libertas: fix debug build breakage due to field rename Missed when fixing mixed-case structure field names. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0aef64d75851c9f3545d0793f26486ed862306d8 Author: Dan Williams Date: Thu Aug 2 11:31:18 2007 -0400 [PATCH] libertas: re-uppercase command defines and other constants For readability. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit b44898eb2c917cd397a0d8654f1c249dd3cdc67e Author: Dan Williams Date: Thu Aug 2 11:18:40 2007 -0400 [PATCH] libertas: fix mixed-case abuse in cmd_ds_802_11_ad_hoc_start Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ea8da92d70c4e320c282d4e94138e40e36880be3 Author: Dan Williams Date: Thu Aug 2 11:18:23 2007 -0400 [PATCH] libertas: fix mixed-case abuse in cmd_ds_802_11_ad_hoc_result Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 492b6da7d220b37275efb03710d57215304149fa Author: Dan Williams Date: Thu Aug 2 11:16:07 2007 -0400 [PATCH] libertas: fix mixed-case abuse in cmd_ds_802_11_scan Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9e22cb67d9a8acde7a5af6ed8cd5e74ebd6551b3 Author: Dan Williams Date: Thu Aug 2 11:14:49 2007 -0400 [PATCH] libertas: remove if_bootcmd.c Move the only function in it to if_usb.c, which was its only user anyway. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1e838bf31c3a24596621026c7d1ca69da068af83 Author: Luis Carlos Cobo Date: Thu Aug 2 10:51:27 2007 -0400 [PATCH] libertas: specific mesh scan for mshX interface With this patch, scanning with mshX interface will only return mesh networks. To differentiate them, a specific mesh IE in beacons/probe responses is used. This IE has been introduced in firmware release 5.110.14. Note: Even though there can be at most a single mesh per channel, this scan might return several networks in the same channel. If all nodes in a mesh network are associated to an AP, they won't produce beacons/probe responses, thus the network will not be listed. This will be fixed in future firmware releases. Scan on ethX interface is not filtered, so it will list both mesh and non-mesh networks. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit ab6179711a5e46ed1db739bef7752d65ce836dce Author: Dan Williams Date: Thu Aug 2 10:48:02 2007 -0400 [PATCH] libertas: clean up 802.11 IE post-scan handling Remove struct IE_WPA and just use direct checking of the IE bytes like ipw. Remove WLAN_802_11_VARIABLE_IEs because it's unused. Kill ieeetypes_elementid enum and just use MFIE_* from ieee80211.h. Also use struct ieee80211_info_element for scan buffer processing to simplify pointer usage. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 2950cd26308ced650cf7cc3199eae3eb27f9917f Author: Dan Williams Date: Thu Aug 2 10:47:17 2007 -0400 [PATCH] libertas: clean up indentation in libertas_association_worker Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1443b6530d8db779082dc9fabbd894e2b551b101 Author: Dan Williams Date: Thu Aug 2 10:45:55 2007 -0400 [PATCH] libertas: rename WLAN_802_11_KEY to enc_key and clean up usage It doesn't touch hardware and therefore doesn't need endian notations either. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0c9ca690e0117e1bf415d5f3e392e27c0c472c68 Author: Dan Williams Date: Thu Aug 2 10:43:44 2007 -0400 [PATCH] libertas: kill ieeetypes_capinfo bitfield, use ieee80211.h types Use standard BSS capability field constants from ieee80211.h. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 6dbc9c89fb242873bd3e83890e59da3d6e462025 Author: Yoann Padioleau Date: Fri Aug 3 19:37:16 2007 +0200 [PATCH] dev->priv to netdev_priv(dev), for drivers/net/wireless Replacing accesses to dev->priv to netdev_priv(dev). The replacment is safe when netdev_priv is used to access a private structure that is right next to the net_device structure in memory. Cf http://groups.google.com/group/comp.os.linux.development.system/browse_thread/thread/de19321bcd94dbb8/0d74a4adcd6177bd This is the case when the net_device structure was allocated with a call to alloc_netdev or one of its derivative. Signed-off-by: Yoann Padioleau Cc: mcgrof@gmail.com Cc: linux-wireless@vger.kernel.org Cc: akpm@linux-foundation.org Signed-off-by: John W. Linville commit 8951554dba0c7962ae72faece66e8f5085a777d6 Author: Mariusz Kozlowski Date: Tue Jul 31 23:34:50 2007 +0200 [PATCH] drivers/net/wireless/prism54/oid_mgt.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3623060abbf1cdd7f292645bea31d024e21792ef Author: Matthias Kaehlcke Date: Mon Jul 30 07:40:04 2007 +0200 [PATCH] Use mutex instead of semaphore in the Host AP driver The Host AP driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit d73ae55ad46be6a0a11b9b71f9910c73c1b9dbb7 Author: Bill Nottingham Date: Fri Jul 27 19:43:17 2007 -0400 [PATCH] remove gratuitous space in airo module description Currently the modinfo looks like: description: Support for Cisco/Aironet 802.11 wireless ethernet cards. Direct support for ISA/PCI/MPI cards and support for PCMCIA when used with airo_cs. Arguably, it should be cut at the end of the first sentence. This at least makes it somewhat more legible. Signed-off-by: Bill Nottingham Signed-off-by: John W. Linville commit cfbde697e48891f6216aa9fd14652e099d5cd5fb Author: Faidon Liambotis Date: Sun Jul 22 16:16:59 2007 +0300 [PATCH] Kconfig: remove references of pcmcia-cs pcmcia-cs/cardmgr is deprecated and mentioning it in the help text is misleading. Signed-off-by: Faidon Liambotis Signed-off-by: John W. Linville commit e12dcb05bf70dfa328173fd55b7c13e71dfdb453 Author: Faidon Liambotis Date: Sun Jul 22 16:16:36 2007 +0300 [PATCH] Kconfig: order options Reorder the Atmel options so that the menu appears saner. Before: < > Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) <*> Atmel at76c50x chipset 802.11b support < > Atmel at76c506 PCI cards (NEW) < > Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards < > Atmel at76c502/at76c504 PCMCIA cards (NEW) After: < > Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) <*> Atmel at76c50x chipset 802.11b support < > Atmel at76c506 PCI cards (NEW) < > Atmel at76c502/at76c504 PCMCIA cards (NEW) < > Cisco/Aironet 34X/35X/4500/4800 PCMCIA cards Signed-off-by: Faidon Liambotis Signed-off-by: John W. Linville commit c5691235cf70ae2bd71c1f445eb991191530ec6c Author: Ulrich Kunitz Date: Sat Jul 21 22:42:13 2007 +0100 [PATCH] zd1211rw: monitor all packets While in monitor mode the zd1211rw received only a limited set of packets. This patch forwards now all packets the device receives. Notify that while monitoring no FCS checks are done; so strange packets might appear in the network sniffer of your choice. ATTENTION: Support for multiple interfaces on a single ZD1211 device is currently broken. So this code works only on the first interface. Here is an example to put the device in monitor mode. iwconfig wlan0 mode monitor ifconfig wlan0 up iwconfig wlan0 channel 10 [dsd@gentoo.org: backport to mainline] Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit cc0b88cf5ecf13cdd750f08e201ce8fadcdb601f Author: Michael Wu Date: Fri Aug 31 01:15:25 2007 -0400 [PATCH] Add adm8211 802.11b wireless driver This patch adds a mac80211 wireless driver for ADMtek ADM8211 based wireless cards. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit aa0daf0e020de9c20e653e437deaa1153c4d134e Author: Johannes Berg Date: Mon Sep 10 14:15:25 2007 +0200 [MAC80211]: remove/change some comments about Michael MIC hardware offload There are a few TODO comments in the mac80211 sources regarding hardware offload for Michael MIC verification. Those items are, however, better handled in the driver instead of the stack, if any device requires such hand-holding. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 475fa49c125d914451805a9fb3cd1baa53591538 Author: Tomas Winkler Date: Sun Sep 2 22:58:21 2007 +0300 [MAC80211]: PS mode fix tx.mode must be set also for buffered frames. It is used in the tx hanlders Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 68aae11674b9d6598b660d1148ffba9eef3f895f Author: Stephen Hemminger Date: Fri Aug 24 11:29:34 2007 -0700 [MAC80211]: use internal network device stats Stats are now available for device usage inside network_device Signed-off-by: Stephen Hemminger Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 24338793eea9dcc0865826e1115af86a19af8d18 Author: warmcat Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: get STA after tx radiotap snipped Johannes Berg noticed that in __ieee80211_tx_prepare() we try to get the STA from addr1 of the ieee80211 header when the radiotap header is actually still at the front of the packet. This patch defers doing that until the radiotap header is gone. Signed-off-by: Andy Green Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 139c3a0492745192f999aaa67d11cb63983211f5 Author: Volker Braun Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: ignore key index on pairwise key (WEP only) Work-around for broken APs that use a non-zero key index for WEP pairwise keys. With this patch, WEP encryption only is exempt from providing a zero key index. Signed-off-by: Volker Braun Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c39e3a0d0380b12f45bf85a619d3df45e437ee45 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: remove TKIP mixing for hw accel again The TKIP mixing code was added for the benefit of Intel's ipw3945 chipset but that code ended up not using it. We have previously identified many problems with this code and it crystallized that library functions for mixing are likely to handle this in much more generality and might allow b43 to take advantage of hardware acceleration for TKIP. Due to these reasons, remove the TKIP mixing for hardware accelerated crypto operations. Signed-off-by: Johannes Berg Acked-by: Michael Buesch Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6a7664d451e7014b1a6828e50ccb3308d0b84816 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: remove HW_KEY_IDX_INVALID This patch makes the mac80211/driver interface rely only on the IEEE80211_TXCTL_DO_NOT_ENCRYPT flag to signal to the driver whether a frame should be encrypted or not, since mac80211 internally no longer relies on HW_KEY_IDX_INVALID either this removes it, changes the key index to be a u8 in all places and makes the full range of the value available to drivers. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7ac1bd6aecc92cfe6ec11891819dd4c26f2f7879 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: some more documentation This patch formats some documentation in mac80211.h into kerneldoc and also adds some more explanations for hardware crypto. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c15a205070fac9fab0d9d4642b9342677b67f933 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: remove set_key_idx callback No existing drivers use this callback, hence there's no telling how it might be used. In fact, it is unlikely to be of much use as-is because the default key index isn't something that the driver can do much with without knowing which interface it was for etc. And if it needs the key index for the transmitted frame, it can get it by keeping a reference to the key_conf structure and looking it up by hw_key_idx. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7848ba7d7a010ccb265617fc2bc053e2bdf06f48 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: rework hardware crypto flags This patch reworks the various hardware crypto related flags to make them more local, i.e. put them with each key or each packet instead of into the hw struct. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b708e610622cff07f4374a2b4410884f964b8489 Author: Johannes Berg Date: Fri Sep 14 11:10:25 2007 -0400 [MAC80211]: remove turbo modes This patch removes all mention of the atheros turbo modes that can't possibly work properly anyway since in some places we don't check for them when we should. I have no idea what the iwlwifi drivers were doing with these but it can't possibly have been correct. Cc: Zhu Yi Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d4e46a3d9869563c6210b01bb651c40cbe65da80 Author: Johannes Berg Date: Fri Sep 14 11:10:24 2007 -0400 [MAC80211]: fix race conditions with keys During receive processing, we select the key long before using it and because there's no locking it is possible that we kfree() the key after having selected it but before using it for crypto operations. Obviously, this is bad. Secondly, during transmit processing, there are two possible races: We have a similar race between select_key() and using it for encryption, but we also have a race here between select_key() and hardware encryption (both when a key is removed.) This patch solves these issues by using RCU: when a key is to be freed, we first remove the pointer from the appropriate places (sdata->keys, sdata->default_key, sta->key) using rcu_assign_pointer() and then synchronize_rcu(). Then, we can safely kfree() the key and remove it from the hardware. There's a window here where the hardware may still be using it for decryption, but we can't work around that without having two hardware callbacks, one to disable the key for RX and one to disable it for TX; but the worst thing that will happen is that we receive a packet decrypted that we don't find a key for any more and then drop it. When we add a key, we first need to upload it to the hardware and then, using rcu_assign_pointer() again, link it into our structures. In the code using keys (TX/RX paths) we use rcu_dereference() to get the key and enclose the whole tx/rx section in a rcu_read_lock() ... rcu_read_unlock() block. Because we've uploaded the key to hardware before linking it into internal structures, we can guarantee that it is valid once get to into tx(). One possible race condition remains, however: when we have hardware acceleration enabled and the driver shuts down the queues, we end up queueing the frame. If now somebody removes the key, the key will be removed from hwaccel and then then driver will be asked to encrypt the frame with a key index that has been removed. Hence, drivers will need to be aware that the hw_key_index they are passed might not be under all circumstances. Most drivers will, however, simply ignore that condition and encrypt the frame with the selected key anyway, this only results in a frame being encrypted with a wrong key or dropped (rightfully) because the key was not valid. There isn't much we can do about it unless we want to walk the pending frame queue every time a key is removed and remove all frames that used it. This race condition, however, will most likely be solved once we add multiqueue support to mac80211 because then frames will be queued further up the stack instead of after being processed. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c29b9b9b0235d56e5602f61ed38702dd376aae20 Author: Johannes Berg Date: Fri Sep 14 11:10:24 2007 -0400 [MAC80211]: don't send invalid QoS frames Kalle Valo noticed that QoS frames are sent with an invalid QoS control field; this is because we increase the header length but neither initialise the space nor actually have enough space in the header structure for the QoS control field. This patch fixes it by treating the QoS field specially and appending it explicitly, initialising it to zero. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5d4ecd9370da6e32588f218a5495806635154352 Author: Johannes Berg Date: Fri Sep 14 11:10:24 2007 -0400 [MAC80211]: remove spy wext ioctls mac80211 never calls wireless_spy_update so these aren't useful. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b Author: Eric Dumazet Date: Sat Sep 15 10:55:54 2007 -0700 [IPV4]: Convert rt_check_expire() from softirq processing to workqueue. On loaded/big hosts, rt_check_expire() if of litle use, because it generally breaks out of its main loop because of a jiffies change. It can take a long time (read : timer invocations) to actually scan the whole hash table, freeing unused entries. Converting it to use a workqueue instead of softirq is a nice move because we can allow rt_check_expire() to do the scan it is supposed to do, without hogging the CPU. This has an impact on the average number of entries in cache, reducing ram usage. Cache is more responsive to parameter changes (/proc/sys/net/ipv4/route/gc_timeout and /proc/sys/net/ipv4/route/gc_interval) Note: Maybe the default value of gc_interval (60 seconds) is too high, since this means we actually need 5 (300/60) invocations to scan the whole table. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit dac24ab396fc92985060d5cb3c467d2d0ffc0c20 Author: Ivo van Doorn Date: Thu Sep 13 09:22:55 2007 +0200 [RFKILL]: Add rfkill documentation Add a documentation file which contains a short description about rfkill with some notes about drivers and the userspace interface. Changes since v1 and v2: - Spellchecking Signed-off-by: Ivo van Doorn Acked-by: Dmitry Torokhov Acked-by: Randy Dunlap commit e0665486b78b8efb9c25019ad29b4a4c9c1e9dfc Author: Ivo van Doorn Date: Thu Sep 13 09:21:31 2007 +0200 [RFKILL]: Add support for ultrawideband This patch will add support for UWB keys to rfkill, support for this has been requested by Inaky. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit 234a0ca6f1d67ba4c3c3fc8378bbd98d722468e1 Author: Ivo van Doorn Date: Thu Sep 13 09:20:42 2007 +0200 [RFKILL]: Remove IRDA As Dmitry pointed out earlier, rfkill-input.c doesn't support irda because there are no users and we shouldn't add unrequired KEY_ defines. However, RFKILL_TYPE_IRDA was defined in the rfkill.h header file and would confuse people about whether it is implemented or not. This patch removes IRDA support completely, so it can be added whenever a driver wants the feature. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit 077130c0cf7d5ba1992f5b51b96136d7b1c8aad5 Author: Eric W. Biederman Date: Thu Sep 13 09:18:57 2007 +0200 [NET]: Fix race when opening a proc file while a network namespace is exiting. The problem: proc_net files remember which network namespace the are against but do not remember hold a reference count (as that would pin the network namespace). So we currently have a small window where the reference count on a network namespace may be incremented when opening a /proc file when it has already gone to zero. To fix this introduce maybe_get_net and get_proc_net. maybe_get_net increments the network namespace reference count only if it is greater then zero, ensuring we don't increment a reference count after it has gone to zero. get_proc_net handles all of the magic to go from a proc inode to the network namespace instance and call maybe_get_net on it. PROC_NET the old accessor is removed so that we don't get confused and use the wrong helper function. Then I fix up the callers to use get_proc_net and handle the case case where get_proc_net returns NULL. In that case I return -ENXIO because effectively the network namespace has already gone away so the files we are trying to access don't exist anymore. Signed-off-by: Eric W. Biederman Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit 4fabcd7118162e36eea5c53e8895ecc13762bef3 Author: Daniel Lezcano Date: Thu Sep 13 09:16:29 2007 +0200 [NETNS]: Fix allnoconfig compilation error. When CONFIG_NET=no, init_net is unresolved because net_namespace.c is not compiled and the include pull init_net definition. This problem was very similar with the ipc namespace where the kernel can be compiled with SYSV ipc out. This patch fix that defining a macro which simply remove init_net initialization from nsproxy namespace aggregator. Compiled and booted on qemu-i386 with CONFIG_NET=no and CONFIG_NET=yes. Signed-off-by: Daniel Lezcano Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit e08b09983fe9cf379faf1aefdf9164268d4610e7 Author: Jesper Dangaard Brouer Date: Wed Sep 12 16:36:28 2007 +0200 [NET_SCHED]: Making rate table lookups more flexible. This is done in order to, add support to changing the rate table to use the upper-boundry L2T (length to time) value. Currently we use the lower-boundry, which result in under-estimating the actual bandwidth usage. Extend the tc_ratespec struct, with two parameters: 1) "cell_align" that allow adjusting the alignment of the rate table. 2) "overhead" that allow adding a packet overhead before the lookup. Signed-off-by: Jesper Dangaard Brouer Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e9bef55d3d062ee7a78fde2913ec87ca9305a1e0 Author: Jesper Dangaard Brouer Date: Wed Sep 12 16:35:24 2007 +0200 [NET_SCHED]: Cleanup L2T macros and handle oversized packets Change L2T (length to time) macros, in all rate based schedulers, to call a common function qdisc_l2t() that does the rate table lookup. This function handles if the packet size lookup is larger than the rate table, which often occurs with TSO enabled. Signed-off-by: Jesper Dangaard Brouer Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit b6fa1a4d746488a7de95ec16afcaf3247fedb003 Author: Adrian Bunk Date: Wed Sep 12 15:18:00 2007 +0200 [SCTP] net/sctp/socket.c: make 3 variables static This patch makes the following needlessly global variables static: - sctp_memory_pressure - sctp_memory_allocated - sctp_sockets_allocated Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 5c94bf86c865fb779f1743672b4d0f6cdd706728 Author: Adrian Bunk Date: Wed Sep 12 15:16:21 2007 +0200 [SCTP]: Make sctp_addto_param() static. sctp_addto_param() can become static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 464771fe4743afd00ebff65aee0983fa1aa1da4f Author: Adrian Bunk Date: Wed Sep 12 15:14:45 2007 +0200 [KERNEL]: Unexport raise_softirq_irqoff raise_softirq_irqoff no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit a050c33f4a4d5babaf94a8ba6ae7a200135240b3 Author: Daniel Lezcano Date: Wed Sep 12 14:57:09 2007 +0200 [NETNS]: Fix bad macro definition. The macro definition is bad. When calling next_net_device with parameter name "dev", the resulting code is: struct net_device *dev = dev and that leads to an unexpected behavior. Especially when llc_core is compiled in, the kernel panics at boot time. The patchset change macro definition with static inline functions as they were defined before. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit abf07acbb9f122218095d0d221e0f949160ccc37 Author: Daniel Lezcano Date: Wed Sep 12 14:54:14 2007 +0200 [NETNS]: Fix loopback network namespace initialization. The core patchset of the network namespace sent by Eric Biederman does not do dynamic loopback creation. So there is no call to alloc_netdev_mq which fills the network namespace field of the netdevice. This patch assign the loopback to the init network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 36ac3135f5e824942fada4efa3204066b4b40ab1 Author: Daniel Lezcano Date: Wed Sep 12 14:51:47 2007 +0200 [NETNS]: Fix export symbols. Add the appropriate EXPORT_SYMBOLS for proc_net_create, proc_net_fops_create and proc_net_remove to fix errors when compiling allmodconfig Signed-off-by: Mark Nelson Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 8f4c1f9b049df3be11090f1c2c4738700302acae Author: Thomas Graf Date: Wed Sep 12 14:44:36 2007 +0200 [NETLINK]: Introduce nested and byteorder flag to netlink attribute This change allows the generic attribute interface to be used within the netfilter subsystem where this flag was initially introduced. The byte-order flag is yet unused, it's intended use is to allow automatic byte order convertions for all atomic types. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 9d5010db7ecfd6ec00119d3b185c4c0cd3265167 Author: David S. Miller Date: Wed Sep 12 14:33:25 2007 +0200 [NET]: Add a might_sleep() to dev_close(). Requested by Johannes Berg. Signed-off-by: David S. Miller commit 86bba269d08f0c545ae76c90b56727f65d62d57f Author: Eric Dumazet Date: Wed Sep 12 14:29:01 2007 +0200 [PATCH] NET : convert IP route cache garbage collection from softirq processing to a workqueue When the periodic IP route cache flush is done (every 600 seconds on default configuration), some hosts suffer a lot and eventually trigger the "soft lockup" message. dst_run_gc() is doing a scan of a possibly huge list of dst_entries, eventually freeing some (less than 1%) of them, while holding the dst_lock spinlock for the whole scan. Then it rearms a timer to redo the full thing 1/10 s later... The slowdown can last one minute or so, depending on how active are the tcp sessions. This second version of the patch converts the processing from a softirq based one to a workqueue. Even if the list of entries in garbage_list is huge, host is still responsive to softirqs and can make progress. Instead of resetting gc timer to 0.1 second if one entry was freed in a gc run, we do this if more than 10% of entries were freed. Before patch : Aug 16 06:21:37 SRV1 kernel: BUG: soft lockup detected on CPU#0! Aug 16 06:21:37 SRV1 kernel: Aug 16 06:21:37 SRV1 kernel: Call Trace: Aug 16 06:21:37 SRV1 kernel: [] wake_up_process+0x10/0x20 Aug 16 06:21:37 SRV1 kernel: [] softlockup_tick+0xe9/0x110 Aug 16 06:21:37 SRV1 kernel: [] dst_run_gc+0x0/0x140 Aug 16 06:21:37 SRV1 kernel: [] run_local_timers+0x13/0x20 Aug 16 06:21:37 SRV1 kernel: [] update_process_times+0x57/0x90 Aug 16 06:21:37 SRV1 kernel: [] smp_local_timer_interrupt+0x34/0x60 Aug 16 06:21:37 SRV1 kernel: [] smp_apic_timer_interrupt+0x5c/0x80 Aug 16 06:21:37 SRV1 kernel: [] apic_timer_interrupt+0x66/0x70 Aug 16 06:21:37 SRV1 kernel: [] dst_run_gc+0x53/0x140 Aug 16 06:21:37 SRV1 kernel: [] dst_run_gc+0x46/0x140 Aug 16 06:21:37 SRV1 kernel: [] run_timer_softirq+0x148/0x1c0 Aug 16 06:21:37 SRV1 kernel: [] __do_softirq+0x6c/0xe0 Aug 16 06:21:37 SRV1 kernel: [] call_softirq+0x1c/0x30 Aug 16 06:21:37 SRV1 kernel: [] do_softirq+0x34/0x90 Aug 16 06:21:37 SRV1 kernel: [] local_bh_enable_ip+0x3f/0x60 Aug 16 06:21:37 SRV1 kernel: [] _spin_unlock_bh+0x13/0x20 Aug 16 06:21:37 SRV1 kernel: [] rt_garbage_collect+0x1d8/0x320 Aug 16 06:21:37 SRV1 kernel: [] dst_alloc+0x1d/0xa0 Aug 16 06:21:37 SRV1 kernel: [] __ip_route_output_key+0x573/0x800 Aug 16 06:21:37 SRV1 kernel: [] sock_common_recvmsg+0x32/0x50 Aug 16 06:21:37 SRV1 kernel: [] ip_route_output_flow+0x1c/0x60 Aug 16 06:21:37 SRV1 kernel: [] tcp_v4_connect+0x150/0x610 Aug 16 06:21:37 SRV1 kernel: [] inet_bind_bucket_create+0x17/0x60 Aug 16 06:21:37 SRV1 kernel: [] inet_stream_connect+0xa6/0x2c0 Aug 16 06:21:37 SRV1 kernel: [] _spin_lock_bh+0x11/0x30 Aug 16 06:21:37 SRV1 kernel: [] lock_sock_nested+0xcf/0xe0 Aug 16 06:21:37 SRV1 kernel: [] _spin_lock_bh+0x11/0x30 Aug 16 06:21:37 SRV1 kernel: [] sys_connect+0x71/0xa0 Aug 16 06:21:37 SRV1 kernel: [] tcp_setsockopt+0x1f/0x30 Aug 16 06:21:37 SRV1 kernel: [] sock_common_setsockopt+0xf/0x20 Aug 16 06:21:37 SRV1 kernel: [] sys_setsockopt+0x9d/0xc0 Aug 16 06:21:37 SRV1 kernel: [] sys_ioctl+0x5e/0x80 Aug 16 06:21:37 SRV1 kernel: [] system_call+0x7e/0x83 After patch : (RT_CACHE_DEBUG set to 2 to get following traces) dst_total: 75469 delayed: 74109 work_perf: 141 expires: 150 elapsed: 8092 us dst_total: 78725 delayed: 73366 work_perf: 743 expires: 400 elapsed: 8542 us dst_total: 86126 delayed: 71844 work_perf: 1522 expires: 775 elapsed: 8849 us dst_total: 100173 delayed: 68791 work_perf: 3053 expires: 1256 elapsed: 9748 us dst_total: 121798 delayed: 64711 work_perf: 4080 expires: 1997 elapsed: 10146 us dst_total: 154522 delayed: 58316 work_perf: 6395 expires: 25 elapsed: 11402 us dst_total: 154957 delayed: 58252 work_perf: 64 expires: 150 elapsed: 6148 us dst_total: 157377 delayed: 57843 work_perf: 409 expires: 400 elapsed: 6350 us dst_total: 163745 delayed: 56679 work_perf: 1164 expires: 775 elapsed: 7051 us dst_total: 176577 delayed: 53965 work_perf: 2714 expires: 1389 elapsed: 8120 us dst_total: 198993 delayed: 49627 work_perf: 4338 expires: 1997 elapsed: 8909 us dst_total: 226638 delayed: 46865 work_perf: 2762 expires: 2748 elapsed: 7351 us I successfully reduced the IP route cache of many hosts by a four factor thanks to this patch. Previously, I had to disable "ip route flush cache" to avoid crashes. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3c12afe75f61d9402797d63941367962ca36fcc9 Author: David S. Miller Date: Wed Sep 12 14:18:18 2007 +0200 [NET]: Fix missed addition of fs/proc/proc_net.c My bad. Signed-off-by: David S. Miller commit 678aa8e4eb1e5d78dfdb70934932c9c90e315f62 Author: David S. Miller Date: Wed Sep 12 14:01:08 2007 +0200 [NET]: #if 0 out net_alloc() for now. We will undo this once it is actually used. Signed-off-by: David S. Miller commit c48dad7ecd84eac92afbe02bd69fca9983a65a56 Author: Eric W. Biederman Date: Wed Sep 12 13:58:02 2007 +0200 [NET]: Disable netfilter sockopts when not in the initial network namespace Until we support multiple network namespaces with netfilter only allow netfilter configuration in the initial network namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d8a5ec672768c3cf4d51d7a63fc071520afa1617 Author: Eric W. Biederman Date: Wed Sep 12 13:57:04 2007 +0200 [NET]: netlink support for moving devices between network namespaces. The simplest thing to implement is moving network devices between namespaces. However with the same attribute IFLA_NET_NS_PID we can easily implement creating devices in the destination network namespace as well. However that is a little bit trickier so this patch sticks to what is simple and easy. A pid is used to identify a process that happens to be a member of the network namespace we want to move the network device to. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ce286d327341295f58d89864d746a524287cfdf9 Author: Eric W. Biederman Date: Wed Sep 12 13:53:49 2007 +0200 [NET]: Implement network device movement between namespaces This patch introduces NETIF_F_NETNS_LOCAL a flag to indicate a network device is local to a single network namespace and should never be moved. Useful for pseudo devices that we need an instance in each network namespace (like the loopback device) and for any device we find that cannot handle multiple network namespaces so we may trap them in the initial network namespace. This patch introduces the function dev_change_net_namespace a function used to move a network device from one network namespace to another. To the network device nothing special appears to happen, to the components of the network stack it appears as if the network device was unregistered in the network namespace it is in, and a new device was registered in the network namespace the device was moved to. This patch sets up a namespace device destructor that upon the exit of a network namespace moves all of the movable network devices to the initial network namespace so they are not lost. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b267b179648e46ea8e2a44f7314a23eb6aee1d6c Author: Eric W. Biederman Date: Wed Sep 12 13:48:45 2007 +0200 [NET]: Factor out __dev_alloc_name from dev_alloc_name When forcibly changing the network namespace of a device I need something that can generate a name for the device in the new namespace without overwriting the old name. __dev_alloc_name provides me that functionality. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 881d966b48b035ab3f3aeaae0f3d3f9b584f45b2 Author: Eric W. Biederman Date: Mon Sep 17 11:56:21 2007 -0700 [NET]: Make the device list and device lookups per namespace. This patch makes most of the generic device layer network namespace safe. This patch makes dev_base_head a network namespace variable, and then it picks up a few associated variables. The functions: dev_getbyhwaddr dev_getfirsthwbytype dev_get_by_flags dev_get_by_name __dev_get_by_name dev_get_by_index __dev_get_by_index dev_ioctl dev_ethtool dev_load wireless_process_ioctl were modified to take a network namespace argument, and deal with it. vlan_ioctl_set and brioctl_set were modified so their hooks will receive a network namespace argument. So basically anthing in the core of the network stack that was affected to by the change of dev_base was modified to handle multiple network namespaces. The rest of the network stack was simply modified to explicitly use &init_net the initial network namespace. This can be fixed when those components of the network stack are modified to handle multiple network namespaces. For now the ifindex generator is left global. Fundametally ifindex numbers are per namespace, or else we will have corner case problems with migration when we get that far. At the same time there are assumptions in the network stack that the ifindex of a network device won't change. Making the ifindex number global seems a good compromise until the network stack can cope with ifindex changes when you change namespaces, and the like. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b4b510290b056b86611757ce1175a230f1080f53 Author: Eric W. Biederman Date: Wed Sep 12 13:05:38 2007 +0200 [NET]: Support multiple network namespaces with netlink Each netlink socket will live in exactly one network namespace, this includes the controlling kernel sockets. This patch updates all of the existing netlink protocols to only support the initial network namespace. Request by clients in other namespaces will get -ECONREFUSED. As they would if the kernel did not have the support for that netlink protocol compiled in. As each netlink protocol is updated to be multiple network namespace safe it can register multiple kernel sockets to acquire a presence in the rest of the network namespaces. The implementation in af_netlink is a simple filter implementation at hash table insertion and hash table look up time. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit e9dc86534051b78e41e5b746cccc291b57a3a311 Author: Eric W. Biederman Date: Wed Sep 12 13:02:17 2007 +0200 [NET]: Make device event notification network namespace safe Every user of the network device notifiers is either a protocol stack or a pseudo device. If a protocol stack that does not have support for multiple network namespaces receives an event for a device that is not in the initial network namespace it quite possibly can get confused and do the wrong thing. To avoid problems until all of the protocol stacks are converted this patch modifies all netdev event handlers to ignore events on devices that are not in the initial network namespace. As the rest of the code is made network namespace aware these checks can be removed. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit e730c15519d09ea528b4d2f1103681fa5937c0e6 Author: Eric W. Biederman Date: Mon Sep 17 11:53:39 2007 -0700 [NET]: Make packet reception network namespace safe This patch modifies every packet receive function registered with dev_add_pack() to drop packets if they are not from the initial network namespace. This should ensure that the various network stacks do not receive packets in a anything but the initial network namespace until the code has been converted and is ready for them. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae Author: Eric W. Biederman Date: Wed Sep 12 12:57:33 2007 +0200 [NET]: Initialize the network namespace of network devices. Except for carefully selected pseudo devices all network interfaces should start out in the initial network namespace. Ultimately it will be register_netdev that examines what dev->nd_net is set to and places a device in a network namespace. This patch modifies alloc_netdev to initialize the network namespace a device is in with the initial network namespace. This gets it right for the vast majority of devices so their drivers need not be modified and for those few pseudo devices that need something different they can change this parameter before calling register_netdevice. The network namespace parameter on a network device is not reference counted as the devices are inside of a network namespace and cannot remain in that namespace past the lifetime of the network namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 1b8d7ae42d02e483ad94035cca851e4f7fbecb40 Author: Eric W. Biederman Date: Mon Oct 8 23:24:22 2007 -0700 [NET]: Make socket creation namespace safe. This patch passes in the namespace a new socket should be created in and has the socket code do the appropriate reference counting. By virtue of this all socket create methods are touched. In addition the socket create methods are modified so that they will fail if you attempt to create a socket in a non-default network namespace. Failing if we attempt to create a socket outside of the default network namespace ensures that as we incrementally make the network stack network namespace aware we will not export functionality that someone has not audited and made certain is network namespace safe. Allowing us to partially enable network namespaces before all of the exotic protocols are supported. Any protocol layers I have missed will fail to compile because I now pass an extra parameter into the socket creation code. [ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ] Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 457c4cbc5a3dde259d2a1f15d5f9785290397267 Author: Eric W. Biederman Date: Wed Sep 12 12:01:34 2007 +0200 [NET]: Make /proc/net per network namespace This patch makes /proc/net per network namespace. It modifies the global variables proc_net and proc_net_stat to be per network namespace. The proc_net file helpers are modified to take a network namespace argument, and all of their callers are fixed to pass &init_net for that argument. This ensures that all of the /proc/net files are only visible and usable in the initial network namespace until the code behind them has been updated to be handle multiple network namespaces. Making /proc/net per namespace is necessary as at least some files in /proc/net depend upon the set of network devices which is per network namespace, and even more files in /proc/net have contents that are relevant to a single network namespace. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 07feaebfcc10cd35e745c7073667935246494bee Author: Eric W. Biederman Date: Wed Sep 12 11:58:02 2007 +0200 [NET]: Add a network namespace parameter to struct sock Sockets need to get a reference to their network namespace, or possibly a simple hold if someone registers on the network namespace notifier and will free the sockets when the namespace is going to be destroyed. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 4a1c537113cdc688aabc3fb9bb6ed18ec821c779 Author: Eric W. Biederman Date: Wed Sep 12 11:56:32 2007 +0200 [NET]: Add a network namespace tag to struct net_device Please note that network devices do not increase the count count on the network namespace. The are inside the network namespace and so the network namespace tag is in the nature of a back pointer and so getting and putting the network namespace is unnecessary. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 772698f6362680b65211f7efc68121f1e4c28aa5 Author: Eric W. Biederman Date: Wed Sep 12 11:55:17 2007 +0200 [NET]: Add a network namespace parameter to tasks This is the network namespace from which all which all sockets and anything else under user control ultimately get their network namespace parameters. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5f256becd868bf63b70da8f2769033d6734670e9 Author: Eric W. Biederman Date: Wed Sep 12 11:50:50 2007 +0200 [NET]: Basic network namespace infrastructure. This is the basic infrastructure needed to support network namespaces. This infrastructure is: - Registration functions to support initializing per network namespace data when a network namespaces is created or destroyed. - struct net. The network namespace data structure. This structure will grow as variables are made per network namespace but this is the minimal starting point. - Functions to grab a reference to the network namespace. I provide both get/put functions that keep a network namespace from being freed. And hold/release functions serve as weak references and will warn if their count is not zero when the data structure is freed. Useful for dealing with more complicated data structures like the ipv4 route cache. - A list of all of the network namespaces so we can iterate over them. - A slab for the network namespace data structure allowing leaks to be spotted. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 32da477a5bfe96b6dfc8960e0d22d89ca09fd10a Author: Eric W. Biederman Date: Wed Sep 12 11:37:03 2007 +0200 [NET]: Don't implement dev_ifname32 inline The current implementation of dev_ifname makes maintenance difficult because updates to the implementation of the ioctl have to made in two places. So this patch updates dev_ifname32 to do a classic 32/64 structure conversion and call sys_ioctl like the rest of the compat calls do. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 890d52d3f1e28888c4122e120426588f5ad63d37 Author: Eric W. Biederman Date: Wed Sep 12 11:26:59 2007 +0200 [ATALK]: In notifier handlers convert the void pointer to a netdevice This slightly improves code safety and clarity. Later network namespace patches touch this code so this is a preliminary cleanup. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit ab5f5e8b144e4c804ef3aa1ce08a9ca9f01187ce Author: Joy Latten Date: Mon Sep 17 11:51:22 2007 -0700 [XFRM]: xfrm audit calls This patch modifies the current ipsec audit layer by breaking it up into purpose driven audit calls. So far, the only audit calls made are when add/delete an SA/policy. It had been discussed to give each key manager it's own calls to do this, but I found there to be much redundnacy since they did the exact same things, except for how they got auid and sid, so I combined them. The below audit calls can be made by any key manager. Hopefully, this is ok. Signed-off-by: Joy Latten Signed-off-by: David S. Miller commit d2e9117c7aa9544d910634e17e3519fd67155229 Author: John Heffner Date: Wed Sep 12 10:44:19 2007 +0200 [NET]: Change type of owner in sock_lock_t to int, rename The type of owner in sock_lock_t is currently (struct sock_iocb *), presumably for historical reasons. It is never used as this type, only tested as NULL or set to (void *)1. For clarity, this changes it to type int, and renames to owned, to avoid any possible type casting errors. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit 02b3d34631831a19ee691516e233756b270eac6d Author: John Heffner Date: Wed Sep 12 10:42:12 2007 +0200 [NET] Cleanup: Use sock_owned_by_user() macro Changes asserts in sunrpc to use sock_owned_by_user() macro instead of referencing sock_lock.owner directly. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit ab0049b4a2f66074dff6af851b35bba888f53972 Author: Andy Gospodarek Date: Thu Sep 6 20:42:14 2007 +0100 [TG3]: remove sparse warnings Removed sparse warnings from tg3 driver. The new logic seems fine (I don't immediately see where we are running over values for any of the variables that need to be saved). This patch compiles fine and I'm currently using a tg3 with the patched driver to post this patch as a basic proof of concept. Signed-off-by: Andy Gospodarek Signed-off-by: David S. Miller commit 50f17787e9b0222ce65cc831407c3ba4790db3ff Author: Stephen Hemminger Date: Thu Sep 6 13:55:02 2007 +0100 [AF_PACKET]: Don't enable global timestamps. Andi mentioned he did something like this already, but never submitted it. The dhcp client application uses AF_PACKET with a packet filter to receive data. The application doesn't even use timestamps, but because the AF_PACKET API has timestamps, they get turned on globally which causes an expensive time of day lookup for every packet received on any system that uses the standard DHCP client. The fix is to not enable the timestamp (but use if if available). This causes the time lookup to only occur on those packets that are destined for the AF_PACKET socket. The timestamping occurs after packet filtering so all packets dropped by filtering to not cause a clock call. The one downside of this a a few microseconds additional delay added from the normal timestamping location (netif_rx) until the receive callback in AF_PACKET. But since the offset is fairly consistent it should not upset applications that do want really use timestamps, like wireshark. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c7261872256f9172eb26438b96725b6f2115e955 Author: Micah Gruber Date: Wed Sep 5 07:58:14 2007 -0700 [DCCP]: Remove unneeded pointer newdp from dccp_v4_request_recv_sock() This trivial patch removes the unneeded pointer newdp, which is never used. Signed-off-by: Micah Gruber Signed-off-by: David S. Miller commit 1dfcae776548f464bee793d06484be275ba8efe7 Author: Micah Gruber Date: Wed Sep 5 07:56:50 2007 -0700 [IPV6]: Remove unneeded pointer iph from ipcomp6_input() in net/ipv6/ipcomp6.c This trivial patch removes the unneeded pointer iph, which is never used. Signed-off-by: Micah Gruber Signed-off-by: David S. Miller commit c9ee23dfac61a713de48b20999dcacb7ef3c5ed0 Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: make assoc_ap a flag The sta_info.assoc_ap value is used as a flag, move it into flags. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 52aa944a182545a987dc753f9602235a3359df0c Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: remove hostapd interface stuff This removes some definitions that are used only within ioctls that will never make it into mainline. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8dc06a1c6112fef7616d26e0b001455b5d8c3c5e Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: improve key selection comment When I changed the code there I forgot to mention what happens with multicast frames in a regular BSS and keep wondering myself if the code is correct. Add appropriate comments. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b331615722779b078822988843ddffd4eaec9f83 Author: John W. Linville Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: filter locally-originated multicast frames In STA mode, the AP will echo our traffic. This includes multicast traffic. Receiving these frames confuses some protocols and applications, notably IPv6 Duplicate Address Detection. Signed-off-by: John W. Linville Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3c3b00caf98e5fdaa0184026a68f0008a5bf393e Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: clean up whitespace This cleans up some whitespace to make the mac80211 version in mainline diverge less from wireless-dev. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b63bde7bb75f74acf974f43dc2be8798be115007 Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: fix preamble setting It looks like in commit 28487a90 the condition was unintentionally negated by moving some code, fix it. Signed-off-by: Johannes Berg Cc: Daniel Drake Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6c55aa97359af4b503a8baf914de48f2406a895f Author: Larry Finger Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: Remove overly sticky averaging filters for rssi, signal, noise The current version of wireless statistics contains a bug in the averaging that makes the numbers be too sticky and not react to small changes. This patch removes all averaging. Signed-off-by: Larry Finger Signed-off-by: Jiri Benc Signed-off-by: John W. Linville Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e7a64f12a452d39ab50e5580e93bc48b3b15f30c Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: add interface index to key debugfs Add a new file 'ifindex' to each key's debugfs dir to allow finding which interface the key was configured on. This isn't done as a symlink because of possible netdev name changes. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 11a843b7e16062389c53ba393c7913956e034eb2 Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: rework key handling This moves all the key handling code out from ieee80211_ioctl.c into key.c and also does the following changes including documentation updates in mac80211.h: 1) Turn off hardware acceleration for keys when the interface is down. This is necessary because otherwise monitor interfaces could be decrypting frames for other interfaces that are down at the moment. Also, it should go some way towards better suspend/resume support, in any case the routines used here could be used for that as well. Additionally, this makes the driver interface nicer, keys for a specific local MAC address are only ever present while an interface with that MAC address is enabled. 2) Change driver set_key() callback interface to allow only return values of -ENOSPC, -EOPNOTSUPP and 0, warn on all other return values. This allows debugging the stack when a driver notices it's handed a key while it is down. 3) Invert the flag meaning to KEY_FLAG_UPLOADED_TO_HARDWARE. 4) Remove REMOVE_ALL_KEYS command as it isn't used nor do we want to use it, we'll use DISABLE_KEY for each key. It is hard to use REMOVE_ALL_KEYS because we can handle multiple virtual interfaces with different key configuration, so we'd have to keep track of a lot of state for this and that isn't worth it. 5) Warn when disabling a key fails, it musn't. 6) Remove IEEE80211_HW_NO_TKIP_WMM_HWACCEL in favour of per-key IEEE80211_KEY_FLAG_WMM_STA to let driver sort it out itself. 7) Tell driver that a (non-WEP) key is used only for transmission by using an all-zeroes station MAC address when configuring. 8) Change the set_key() callback to have access to the local MAC address the key is being added for. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3aefaa3294193c931b20a574f718efee6baf27d4 Author: Johannes Berg Date: Tue Aug 28 17:01:55 2007 -0400 [MAC80211]: remove fake set_key() call Remove adding a fake key with a NONE key algorithm for each associated STA. If we have hardware with such TX filtering we should probably extend the sta_table_notification() callback with the sta information instead; the fact that it's treated as a key for some atheros hardware shouldn't bother the stack. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f658eb90d065c2d76ab3f3eb676ebf53462e323b Author: Johannes Berg Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211] key handling: remove default_wep_only Remove the default_wep_only stuff, this wasn't really done well and no current driver actually cares. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8f37171a6243a8370211a1e86d58be683ccf01f0 Author: Johannes Berg Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: remove krefs for keys they aren't really refcounted anyway Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8f20fc24986a083228823d9b68adca20714b254e Author: Johannes Berg Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: embed key conf in key, fix driver interface This patch embeds the struct ieee80211_key_conf into struct ieee80211_key and thus avoids allocations and having data present twice. This required some more changes: 1) The removal of the IEEE80211_KEY_DEFAULT_TX_KEY key flag. This flag isn't used by drivers nor should it be since we have a set_key_idx() callback. Maybe that callback needs to be extended to include the key conf, but only a driver that requires it will tell. 2) The removal of the IEEE80211_KEY_DEFAULT_WEP_ONLY key flag. This flag is global, so it shouldn't be passed in the key conf structure. Pass it to the function instead. Also, this patch removes the AID parameter to the set_key() callback because it is currently unused and the hardware currently cannot know about the AID anyway. I suspect this was used with some hardware that actually selected the AID itself, but that functionality was removed. Additionally, I've removed the ALG_NULL key algorithm since we have ALG_NONE. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 13262ffd4902805acad2618c12b41fcaa6c50791 Author: Jiri Slaby Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: Remove bitfields from struct ieee80211_sub_if_data mac80211, remove bitfields from struct ieee80211_sub_if_data Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d6f2da5b33911a31eb61e1790ef8e555e9605837 Author: Jiri Slaby Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: Remove bitfields from struct ieee80211_if_sta mac80211, remove bitfields from struct ieee80211_if_sta Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit badffb725c86cc2d46f7cb3f520f58f1c863b56c Author: Jiri Slaby Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: Remove bitfields from struct ieee80211_txrx_data mac80211, remove bitfields from struct ieee80211_txrx_data Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e8bf96495cd67090b4900ddaf8e8672a17ec39fa Author: Jiri Slaby Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: Remove bitfields from struct ieee80211_tx_packet_data remove bitfields from struct ieee80211_tx_packet_data [Johannes: completely clear flags in ieee80211_remove_tx_extra] Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit cf966838cd5596ca61d3e9949050442a943f6238 Author: Johannes Berg Date: Tue Aug 28 17:01:54 2007 -0400 [MAC80211]: use switch statement in tx code The transmit code needs to set the addresses depending on the interface type, a likely() for AP/VLAN is quite wrong since most people will be using STA; convert to a switch statement to make it look nicer. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit eb063c1702a84d58eb4c05a032bbff6f1c29049d Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: refactor event sending Create a new file event.c that will contain code to send mac/mlme events to userspace. For now put the Michael MIC failure condition into it and remove sending of that condition via the management interface, hostapd interestingly doesn't do anything when it gets such a packet besides printing a message, it reacts only on the private iwevent. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 808718c1477b8350e9e329bf4a35391ac7c7f982 Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: kill key_mgmt, use key_management_enabled The key_mgmt variable for STA interfaces doesn't seem well-defined nor do we actually use the values other than "NONE", so change it to be named better. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7b33a57f0f5ed9fcc87f98ff5f6aa54291bd0558 Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove unused ioctls (3) The ioctls * PRISM2_PARAM_RADAR_DETECT * PRISM2_PARAM_SPECTRUM_MGMT are not used by hostapd or wpa_supplicant, Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 53cb670042999b8acb70945ce522b015dcdf7b43 Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove unused ioctls (2) The ioctls * PRISM2_PARAM_STA_ANTENNA_SEL * PRISM2_PARAM_TX_POWER_REDUCTION * PRISM2_PARAM_DEFAULT_WEP_ONLY are not used by hostapd or wpa_supplicant. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b2446b36800948586f1d1b8ef05803bba5f7489e Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove unused ioctls (1) The ioctls * PRISM2_PARAM_ANTENNA_MODE * PRISM2_PARAM_STAT_TIME are not used by hostapd or wpa_supplicant. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3017b80bf0c4d6a44ccf0d35db9dadf01092b54e Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: fix software decryption When doing key selection for software decryption, mac80211 gets a few things wrong: it always uses pairwise keys if configured, even if the frame is addressed to a multicast address. Also, it doesn't allow using a key index of zero if a pairwise key has also been found. This patch changes the key selection code to be (more) in line with the 802.11 specification. I have confirmed that with this, multicast frames are correctly decrypted and I've tested with WEP as well. While at it, I've cleaned up the semantics of the hardware flags IEEE80211_HW_WEP_INCLUDE_IV and IEEE80211_HW_DEVICE_HIDES_WEP and clarified them in the mac80211.h header; it is also now allowed to set the IEEE80211_HW_DEVICE_HIDES_WEP option even if it only applies to frames that have been decrypted by the hw, unencrypted frames must be dropped but encrypted frames that the hardware couldn't handle can be passed up unmodified. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville commit 82f716056fb1c214289fe6c284b0316858c1b70c Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove radar stuff Unused in drivers, userspace and mac80211. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 643856729e2fde781f63eb84ecb43bbad35bf1ae Author: Johannes Berg Date: Tue Aug 28 17:01:53 2007 -0400 [MAC80211]: remove ieee80211_msg_wep_frame_unknown_key Neither hostapd nor wpa_supplicant really use it. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville commit 1a84f3fd141d2105d80290316bfa772ba34e9c64 Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: ratelimit some RX messages Many if not all of these messages can be triggered by sending a few rogue frames which is trivially done and then we overflow our logs. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit aaa92e9a743c740005d8a592dbc1b3ca310d35b5 Author: Johannes Berg Date: Thu Sep 6 03:36:10 2007 -0700 [MAC80211]: remove IEEE80211_HW_DATA_NULLFUNC_ACK Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e6660d9832f62e97941492b83eccbe370dfa72ba Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: remove PRISM2_PARAM_RADIO_ENABLED This now is unused in hostapd/wpa_supplicant. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0ef6e49b75d0d64d5deab890c72d19fe86488f73 Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: remove IEEE80211_HW_HOST_GEN_BEACON flag The flag is never checked because drivers can simply call ieee80211_beacon_get() regardless of setting this flag. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4dfd1d2f6aeeac67d17d6c22052ae3a86db85c0b Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: remove reset callback The callback isn't used so remove it. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 50339a67e2d4386d8919195989371579cab8649d Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: fix key debugfs This fixes two issues with the key debugfs: 1) key index obviously isn't unique 2) various missing break statements led to bogus output Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2a8a9a88fc1b18f5c45244d0ef8a5352f6cf761f Author: Johannes Berg Date: Tue Aug 28 17:01:52 2007 -0400 [MAC80211]: avoid copying packets to interfaces that are down David Woodhouse noticed that under some circumstances the number of slab allocations kept growing. After looking a bit, this seemed to happen when you had a management mode interface that was *down*. The reason for this is that when the device is down, all management frames get queued to the in-kernel MLME (via ieee80211_sta_rx_mgmt) but then the sta work is invoked but doesn't run when the netif is down. When you then bring the interface up, all such frames are freed, but if you change the mode all of them are lost because the skb queue is reinitialised as soon as you go back to managed mode. The skb queue is correctly cleared when the interface is brought down, but the code doesn't account for the fact that it may be filled while it is not up. This patch should fix the issue by simply ignoring all interfaces that are down when going through the RX handlers. Signed-off-by: Johannes Berg Acked-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4b6aa59999a3a12dd4740a52299c6c33e85a8747 Author: Alex Villacís Lasso Date: Tue Aug 28 15:58:31 2007 -0700 [IrDA]: Kingsun KS-959 IrDA USB driver This dongle does not follow the usb-irda specification, so it needs its own special driver. First, it uses control URBs for data transfer, instead of bulk or interrupt transfers; the only interrupt endpoint exposed seems to be a dummy to prevent the interface from being rejected. Second, it uses obfuscation and padding at the USB traffic level, for no apparent reason other than to make reverse engineering harder (full details on obfuscation in comments at beginning of source). Although it is advertised as a "4 Mbps FIR dongle", it apparently loses packets at speeds greater than 57600 bps. On plugin, this dongle reports vendor and device IDs: 0x07d0:0x4959 . The Windows driver that is used normally to control this dongle has a filename of KS-959.SYS . Signed-off-by: Alex Villacís Lasso Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 4a1d7c25cb438f96b700ac26dc5aa0a38a6d86ea Author: Alex Villacís Lasso Date: Tue Aug 28 15:57:50 2007 -0700 [IrDA]: Kingsun Dazzle IrDA USB driver This dongle does not follow the usb-irda specification, so it needs its own special driver. Just like the Kingsun/Donshine dongle, it exposes two interrupt endpoints. Reception is performed through direct reads from the input endpoint. Transmission requires splitting the IrDA frames into 8-byte segments, in which the first byte encodes how many of the remaining 7 bytes are used as data. Speed change is made with a control URB just like the one in cypress_m8, and it seems to support up to 115200 bps. On plugin, this dongle reports vendor and device IDs: 0x07d0:0x4100 Signed-off-by: Alex Villacís Lasso Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit bcb5e0eef35059af372a7bd3fc68915278d74bc0 Author: Samuel Ortiz Date: Tue Aug 28 15:57:12 2007 -0700 [IrDA]: MSG_NOSIGNAL support for IrDA sockets Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 172589ccdde41b59861c92c4a971b95514ef24e3 Author: Ilpo Järvinen Date: Tue Aug 28 15:50:33 2007 -0700 [NET]: DIV_ROUND_UP cleanup (part two) Hopefully captured all single statement cases under net/. I'm not too sure if there is some policy about #includes that are "guaranteed" (ie., in the current tree) to be available through some other #included header, so I just added linux/kernel.h to each changed file that didn't #include it previously. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c45248c70125cc374fdf264659643276c72801bf Author: Robert Olsson Date: Mon Sep 17 11:47:12 2007 -0700 [SOFTIRQ]: Remove do_softirq() symbol export. As noted by Christoph Hellwig, pktgen was the only user so it can now be removed. [ Add missing cases caught by Adrian Bunk. -DaveM ] Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit b163911f8abf89bafb9cc0ec02a9c43af450ea81 Author: Robert Olsson Date: Tue Aug 28 15:46:58 2007 -0700 [PKTGEN]: Remove softirq scheduling. It's not a job for pktgen. Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 45b270f880d32252ded95865390e69deb714e080 Author: Robert Olsson Date: Tue Aug 28 15:45:55 2007 -0700 [PKTGEN]: Multiqueue support. Below some pktgen support to send into different TX queues. This can of course be feed into input queues on other machines Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 32b21e034be9954eaae0278df20e0251eb958ded Author: Denis Cheng Date: Tue Aug 28 15:41:11 2007 -0700 [NETLINK]: use container_of instead This could make future redesign of struct netlink_sock easier. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit f7944fb1913130ae7858008af96e52a3a6b04118 Author: Thomas Graf Date: Sat Aug 25 13:46:55 2007 -0700 [XFRM] policy: Replace magic number with XFRM_POLICY_OUT Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 3b26a9a655ee73a87071a9f6a1fdd5311e31d7c9 Author: Masahide NAKAMURA Date: Fri Aug 24 23:33:01 2007 -0700 [IPV4] IPSEC: Omit redirect for tunnelled packet. IPv4 IPsec tunnel gateway incorrectly sends redirect to sender if it is onlink host when network device the IPsec tunnelled packet is arrived is the same as the one the decapsulated packet is sent. With this patch, it omits to send the redirect when the forwarding skbuff carries secpath, since such skbuff should be assumed as a decapsulated packet from IPsec tunnel by own. Request for comments: Alternatively we'd have another way to change net/ipv4/route.c (__mkroute_input) to use RTCF_DOREDIRECT flag unless skbuff has no secpath. It is better than this patch at performance point of view because IPv4 redirect judgement is done at routing slow-path. However, it should be taken care of resource changes between SAD(XFRM states) and routing table. In other words, When IPv4 SAD is changed does the related routing entry go to its slow-path? If not, it is reasonable to apply this patch. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 1e5dc146173251e7baad9a1f7586d5a009b6d9f9 Author: Masahide NAKAMURA Date: Fri Aug 24 19:08:55 2007 +0900 [IPV6] IPSEC: Omit redirect for tunnelled packet. IPv6 IPsec tunnel gateway incorrectly sends redirect to router or sender when network device the IPsec tunnelled packet is arrived is the same as the one the decapsulated packet is sent. With this patch, it omits to send the redirect when the forwarding skbuff carries secpath, since such skbuff should be assumed as a decapsulated packet from IPsec tunnel by own. It may be a rare case for an IPsec security gateway, however it is not rare when the gateway is MIPv6 Home Agent since the another tunnel end-point is Mobile Node and it changes the attached network. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit a47ed4cd8cb0709723392f5b841e9015f765d0a6 Author: Noriaki TAKAMIYA Date: Thu Sep 6 03:31:25 2007 -0700 [IPV6] XFRM: Fix connected socket to use transformation. When XFRM policy and state are ready after TCP connection is started, the traffic should be transformed immediately, however it does not on IPv6 TCP. It depends on a dst cache replacement policy with connected socket. It seems that the replacement is always done for IPv4, however, on IPv6 case it is done only when routing cookie is changed. This patch fix that non-transformation dst can be changed to transformation one. This behavior is required by MIPv6 and improves IPv6 IPsec. Fixes by Masahide NAKAMURA. Signed-off-by: Noriaki TAKAMIYA Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit e773e4faa19c54c2f32ddd16add2919588488bd9 Author: Brian Haley Date: Fri Aug 24 23:16:08 2007 -0700 [IPV6]: Add v4mapped address inline Add v4mapped address inline to avoid calls to ipv6_addr_type(). Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 6f4fc423b96c8fdf6f5c8b8ad79b75b7fb5a5c59 Author: Stephen Hemminger Date: Mon Sep 17 11:44:25 2007 -0700 [SHAPER]: Mark for removal. This driver has been marked obsolete for a long time and is superseded by traffic schedulers. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 32c1da70810017a98aa6c431a5494a302b6b9a30 Author: Stephen Hemminger Date: Fri Aug 24 23:09:41 2007 -0700 [UDP]: Randomize port selection. This patch causes UDP port allocation to be randomized like TCP. The earlier code would always choose same port (ie first empty list). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 356f89e12e301376f26795643f3b5931c81c9cd5 Author: Ilpo Järvinen Date: Fri Aug 24 23:00:31 2007 -0700 [NET] Cleanup: DIV_ROUND_UP Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 18f02545a9a16c9a89778b91a162ad16d510bb32 Author: Ilpo Järvinen Date: Fri Aug 24 22:55:52 2007 -0700 [TCP] MIB: Add counters for discarded SACK blocks In DSACK case, some events are not extraordinary, such as packet duplication generated DSACK. They can arrive easily below snd_una when undo_marker is not set (TCP being in CA_Open), counting such DSACKs amoung SACK discards will likely just mislead if they occur in some scenario when there are other problems as well. Similarly, excessively delayed packets could cause "normal" DSACKs. Therefore, separate counters are allocated for DSACK events. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 5b3c98821a8753239aefc1c217409aa3e5c90787 Author: Ilpo Järvinen Date: Fri Aug 24 22:54:44 2007 -0700 [TCP]: Discard fuzzy SACK blocks SACK processing code has been a sort of russian roulette as no validation of SACK blocks is previously attempted. Besides, it is not very clear what all kinds of broken SACK blocks really mean (e.g., one that has start and end sequence numbers reversed). So now close the roulette once and for all. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6728e7dc3e577241f36921c720cfb4eb8f5aed1a Author: Ilpo Järvinen Date: Fri Aug 24 22:53:26 2007 -0700 [TCP]: Rename tcp_ack_packets_out -> tcp_rearm_rto Only thing that tiny function does is rearming the RTO (if necessary), name it accordingly. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6ff03ac355cc6c10f7b1f44dd466d41213acebca Author: Ilpo Järvinen Date: Fri Aug 24 22:44:06 2007 -0700 [TCP]: tcp_packets_out_inc to tcp_output.c (no callers elsewhere) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e9144bd8da80f3136b23c615609798e371e885ac Author: Ilpo Järvinen Date: Fri Aug 24 22:43:14 2007 -0700 [TCP]: Remove unnecessary wrapper tcp_packets_out_dec Makes caller side more obvious, there's no need to have a wrapper for this oneliner! Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 522400623e240ad134cb4101b1fddc3245d2a7ed Author: Stephen Hemminger Date: Tue Aug 28 15:22:09 2007 -0700 [ATM]: Replace DPRINTK() with pr_debug(). Get rid of using DPRINTK macro in ATM and use pr_debug (in kernel.h). Using the standard macro is cleaner and forces code to check for bad arguments and formatting. Fixes from Thomas Graf. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23f1f4eff85d3d2ec9ed589e3fdcbba59eaa083e Author: Stephen Hemminger Date: Fri Aug 24 22:35:44 2007 -0700 [NET] ethernet: optimize memcpy and memset The ethernet header management only needs to handle a fixed size address (6 bytes). If the memcpy/memset are changed to be passed a constant length, then compiler can optimize for this case (and if it is smart eliminate string instructions). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fd21150a0fe10c504160db359a4eb425576f6e7d Author: Thomas Graf Date: Thu Sep 6 03:28:08 2007 -0700 [XFRM] netlink: Inline attach_encap_tmpl(), attach_sec_ctx(), and attach_one_addr() These functions are only used once and are a lot easier to understand if inlined directly into the function. Fixes by Masahide NAKAMURA. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 15901a2746e6a2dbe03043609f1575c2bcf726e8 Author: Thomas Graf Date: Wed Aug 22 14:02:39 2007 -0700 [XFRM] netlink: Remove dependency on rtnetlink Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 5424f32e484b9697808bbc0c0088dc2ead018d4f Author: Thomas Graf Date: Wed Aug 22 14:01:33 2007 -0700 [XFRM] netlink: Use nlattr instead of rtattr Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 35a7aa08bf7863dbfdb0eb69122d8aeaedd52748 Author: Thomas Graf Date: Wed Aug 22 14:00:40 2007 -0700 [XFRM] netlink: Rename attribute array from xfrma[] to attrs[] Increases readability a lot. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit fab448991df4ecca6c244e23982c70f7e715b864 Author: Thomas Graf Date: Wed Aug 22 13:59:43 2007 -0700 [XFRM] netlink: Enhance indexing of the attribute array nlmsg_parse() puts attributes at array[type] so the indexing method can be simpilfied by removing the obscuring "- 1". Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit cf5cb79f6946063b04be3df16dcaa781e48bdbef Author: Thomas Graf Date: Wed Aug 22 13:59:04 2007 -0700 [XFRM] netlink: Establish an attribute policy Adds a policy defining the minimal payload lengths for all the attributes allowing for most attribute validation checks to be removed from in the middle of the code path. Makes updates more consistent as many format errors are recognised earlier, before any changes have been attempted. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a7bd9a45c8c8901f800a461a4098ebae2b8a4b78 Author: Thomas Graf Date: Wed Aug 22 13:58:18 2007 -0700 [XFRM] netlink: Use nlmsg_parse() to parse attributes Uses nlmsg_parse() to parse the attributes. This actually changes behaviour as unknown attributes (type > MAXTYPE) no longer cause an error. Instead unknown attributes will be ignored henceforth to keep older kernels compatible with more recent userspace tools. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 7deb2264909ec82ae4696dd73d8ffce6814c9114 Author: Thomas Graf Date: Wed Aug 22 13:57:39 2007 -0700 [XFRM] netlink: Use nlmsg_new() and type-safe size calculation helpers Moves all complex message size calculation into own inlined helper functions and makes use of the type-safe netlink interface. Using nlmsg_new() simplifies the calculation itself as it takes care of the netlink header length by itself. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit cfbfd45a8c4c0c8dd8ed491caefdeffd94acf9e4 Author: Thomas Graf Date: Wed Aug 22 13:57:04 2007 -0700 [XFRM] netlink: Clear up some of the CONFIG_XFRM_SUB_POLICY ifdef mess Moves all of the SUB_POLICY ifdefs related to the attribute size calculation into a function. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit c26445acbc292ab0466407db6d3bdcc5cbe1d03b Author: Thomas Graf Date: Wed Aug 22 13:56:23 2007 -0700 [XFRM] netlink: Move algorithm length calculation to its own function Adds alg_len() to calculate the properly padded length of an algorithm attribute to simplify the code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit c0144beaeca42b643f4d1632f2b24fdc6c48a170 Author: Thomas Graf Date: Wed Aug 22 13:55:43 2007 -0700 [XFRM] netlink: Use nla_put()/NLA_PUT() variantes Also makes use of copy_sec_ctx() in another place and removes duplicated code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 082a1ad573b76c8342c1da9d623aaeb5901e440b Author: Thomas Graf Date: Wed Aug 22 13:54:36 2007 -0700 [XFRM] netlink: Use nlmsg_broadcast() and nlmsg_unicast() This simplifies successful return codes from >0 to 0. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 7b67c8575f1ed0d5fd7524a33d34f5c88c52a194 Author: Thomas Graf Date: Wed Aug 22 13:53:52 2007 -0700 [XFRM] netlink: Use nlmsg_data() instead of NLMSG_DATA() Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 9825069d09d0201e547e9ee3f3b990cddef68788 Author: Thomas Graf Date: Wed Aug 22 12:47:26 2007 -0700 [XFRM] netlink: Use nlmsg_end() and nlmsg_cancel() Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 79b8b7f4ab686e0f14ceb9a6fa4437eb1e73a0e5 Author: Thomas Graf Date: Wed Aug 22 12:46:53 2007 -0700 [XFRM] netlink: Use nlmsg_put() instead of NLMSG_PUT() Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 6168b96c07d8d40f83622cfb488ca27e4178a603 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:19:44 2007 -0700 [DCCP]: Nuke the timeval helpers now that we fully converted to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8fb8354af9b92ce3bd41083995f1fe26024d0959 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:19:21 2007 -0700 [DCCP]: Nuke dccp_timestamp and dccps_epoch, not used anymore Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 234748954a9880cce8a065698dcbf692f9c23918 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:18:55 2007 -0700 [DCCP] options: convert dccp_insert_option_timestamp to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 19ac21465e15e476220909c01b23df847b6ffa30 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:18:33 2007 -0700 [DCCP]: Convert dccps_timestamp_time to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0740d49c2465bdd2644455c4bc49794395b73433 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:18:13 2007 -0700 [DCCP] packet_history: Convert dccphtx_tstamp to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e7c2335794b949292ecfd01902c429e2ac3937e1 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:17:51 2007 -0700 [DCCP] packet_history: convert dccphrx_tstamp to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b8bda9d70842dab7902f0681e1297dcf0460fc94 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:17:25 2007 -0700 [DCCP] ackvec: Convert to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 668348a4232d3dd0ee48b3dc13228b5a7eb57565 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:17:02 2007 -0700 [DCCP] CCID3: Stop using dccp_timestamp Now to convert the ackvec code to ktime_t so that we can get rid of dccp_timestamp and the epoch thing in dccp_sock. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9823b7b5542858afe5b6a1e2df83b3847c28f3d6 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:16:35 2007 -0700 [DCCP]: Convert dccp_sample_rtt to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a272378d1128d1c60a463a315646c86d174ff74c Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:16:05 2007 -0700 [KTIME]: Introduce ktime_sub_ns and ktime_sub_us First user will be the DCCP transport networking protocol. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e7a81c6d62cbefdeb23d92ad891f429bde1c49d2 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:15:37 2007 -0700 [DCCP]: Convert ccid3hcrx_tstamp_last_feedback to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 1faf0a1f5d9cafe031b8faa91636b67cdca726a3 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:15:13 2007 -0700 [DCCP]: Convert ccid3hcrx_tstamp_last_ack to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 23f062af6e90654ef939462c2c060ad103dec6f2 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:14:52 2007 -0700 [DCCP]: Convert ccid3hctx_t_ld to ktime_t Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ac198ea8d94a46830080372a539420cf4a8de4a3 Author: Arnaldo Carvalho de Melo Date: Sun Aug 19 17:14:27 2007 -0700 [DCCP]: Make ccid3_hc_tx_update_x get a timestamp if needed The code was too complicated, if p > 0 in ccid3_hc_tx_no_feedback_timer the timestamp was being obtained to be passed to ccid3_hc_tx_update_x, where only if p > 0 the timestamp was needed, so just leave it to ccid3_hc_tx_update_x to obtain the timestamp if needed. This will help in the upcoming changesets where we'll convert t_ld to ktime_t. We'll eventually try to reuse ktime_get_real() calls again. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4d93df0abd50b9c9e2d4561439a1a1d21ec5e68f Author: Neil Horman Date: Wed Aug 15 16:07:44 2007 -0700 [SCTP]: Rewrite of sctp buffer management code This patch introduces autotuning to the sctp buffer management code similar to the TCP. The buffer space can be grown if the advertised receive window still has room. This might happen if small message sizes are used, which is common in telecom environmens. New tunables are introduced that provide limits to buffer growth and memory pressure is entered if to much buffer spaces is used. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 13c99b248f06e0b71d925f162d8e3b0084886a21 Author: Jeff Garzik Date: Wed Aug 15 16:01:56 2007 -0700 [ETHTOOL]: Internal cleanup of ethtool_value-related handlers Several get/set functions can be handled by a passing the ethtool_op function pointer directly to a generic function. This permits deletion of a fair bit of redundant code. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 339bf024756690949f536777b921f34186eaa8b4 Author: Jeff Garzik Date: Wed Aug 15 16:01:32 2007 -0700 [ETHTOOL]: Introduce ->{get,set}_priv_flags, ETHTOOL_[GS]PFLAGS Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ff03d49f0ca1959246068b315d26e009da692ff2 Author: Jeff Garzik Date: Wed Aug 15 16:01:08 2007 -0700 [ETHTOOL]: Introduce get_sset_count. Obsolete get_stats_count, self_test_count Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 3ae7c0b2e3747b50c3a6c63ebb67469e0a6b3203 Author: Jeff Garzik Date: Wed Aug 15 16:00:51 2007 -0700 [ETHTOOL]: Add ETHTOOL_[GS]FLAGS sub-ioctls Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 0bcc1816188e570bde1d56a208996660f2633ae0 Author: Satyam Sharma Date: Fri Aug 10 15:35:05 2007 -0700 [NET] netconsole: Support dynamic reconfiguration using configfs Based upon initial work by Keiichi Kii . This patch introduces support for dynamic reconfiguration (adding, removing and/or modifying parameters of netconsole targets at runtime) using a userspace interface exported via configfs. Documentation is also updated accordingly. Issues and brief design overview: (1) Kernel-initiated creation / destruction of kernel objects is not possible with configfs -- the lifetimes of the "config items" is managed exclusively from userspace. But netconsole must support boot/module params too, and these are parsed in kernel and hence netpolls must be setup from the kernel. Joel Becker suggested to separately manage the lifetimes of the two kinds of netconsole_target objects -- those created via configfs mkdir(2) from userspace and those specified from the boot/module option string. This adds complexity and some redundancy here and also means that boot/module param-created targets are not exposed through the configfs namespace (and hence cannot be updated / destroyed dynamically). However, this saves us from locking / refcounting complexities that would need to be introduced in configfs to support kernel-initiated item creation / destroy there. (2) In configfs, item creation takes place in the call chain of the mkdir(2) syscall in the driver subsystem. If we used an ioctl(2) to create / destroy objects from userspace, the special userspace program is able to fill out the structure to be passed into the ioctl and hence specify attributes such as local interface that are required at the time we set up the netpoll. For configfs, this information is not available at the time of mkdir(2). So, we keep all newly-created targets (via configfs) disabled by default. The user is expected to set various attributes appropriately (including the local network interface if required) and then write(2) "1" to the "enabled" attribute. Thus, netpoll_setup() is then called on the set parameters in the context of _this_ write(2) on the "enabled" attribute itself. This design enables the user to reconfigure existing netconsole targets at runtime to be attached to newly-come-up interfaces that may not have existed when netconsole was loaded or when the targets were actually created. All this effectively enables us to get rid of custom ioctls. (3) Ultra-paranoid configfs attribute show() and store() operations, with sanity and input range checking, using only safe string primitives, and compliant with the recommendations in Documentation/filesystems/sysfs.txt. (4) A new function netpoll_print_options() is created in the netpoll API, that just prints out the configured parameters for a netpoll structure. netpoll_parse_options() is modified to use that and it is also exported to be used from netconsole. Signed-off-by: Satyam Sharma Acked-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b5427c27173e128dda1541bd9d3b05df79af5882 Author: Satyam Sharma Date: Fri Aug 10 15:33:40 2007 -0700 [NET] netconsole: Support multiple logging targets Based upon initial work by Keiichi Kii . This patch introduces support for multiple targets, independent of CONFIG_NETCONSOLE_DYNAMIC -- this is useful even in the default case and (including the infrastructure introduced in previous patches) doesn't really add too many bytes to module text. All the complexity (and size) comes with the dynamic reconfigurability / userspace interface patch, and so it's plausible users may want to keep this enabled but that disabled (say to avoid a dependency on CONFIG_CONFIGFS_FS too). Also update documentation to mention the use of ";" separator to specify multiple logging targets in the boot/module option string. Brief overview: We maintain a target_list (and corresponding lock). Get rid of the static "default_target" and introduce allocation and release functions for our netconsole_target objects (but keeping sure to preserve previous behaviour such as default values). During init_netconsole(), ";" is used as the separator to identify multiple target specifications in the boot/module option string. The target specifications are parsed and netpolls setup. During exit, the target_list is torn down and all items released. Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 17951f34b0970b05e29fd93a5b93fa05ec71308b Author: Satyam Sharma Date: Fri Aug 10 15:33:01 2007 -0700 [NET] netconsole: Introduce netconsole_netdev_notifier Based upon initial work by Keiichi Kii . To update fields of underlying netpoll structure at runtime on corresponding NETDEV_CHANGEADDR or NETDEV_CHANGENAME notifications. ioctl(SIOCSIFHWADDR or SIOCSIFNAME) could be used to change the hardware/MAC address or name of the local interface that our netpoll is attached to. Whenever this happens, netdev notifier chain is called out with the NETDEV_CHANGEADDR or NETDEV_CHANGENAME event message. We respond to that and update the local_mac or dev_name field of the struct netpoll. This makes sense anyway, but is especially required for dynamic netconsole because the netpoll structure's internal members become user visible files when either sysfs or configfs are used. So this helps us to keep up with the MAC address/name changes and keep values in struct netpoll uptodate. [ Note that ioctl(SIOCSIFADDR) to change IP address of interface at runtime is not handled (to update local_ip of netpoll) on purpose -- some setups may set the local_ip to a private address, not necessary the actual IP address of the sender host, as presently allowed. ] Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit df180e369cf54a8ef8440667ab1d13d452fc7215 Author: Satyam Sharma Date: Fri Aug 10 15:32:14 2007 -0700 [NET] netconsole: Introduce netconsole_target Based upon initial work by Keiichi Kii . Introduce a wrapper structure over netpoll to represent logging targets configured in netconsole. This will get extended with other members in further patches. This is done independent of the (to-be-introduced) NETCONSOLE_DYNAMIC config option so that we're able to drastically cut down on the #ifdef complexity of final netconsole.c. Also, struct netconsole_target would be required for multiple targets support also, and not just dynamic reconfigurability. Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 8d4ef88b5df1afe097e38aef8cab2ed35ca141ea Author: Satyam Sharma Date: Fri Aug 10 15:31:19 2007 -0700 [NET] netconsole: Add some useful tips to documentation Based upon initial work by Keiichi Kii . Add some useful general-purpose tips. Also suggest solution for the frequent problem of console loglevel set too low numerically (i.e. for high priority messages only) on the sender. Signed-off-by: Satyam Sharma Acked-by: Keiichi Kii Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0cc120bea1d4ba3893a26c70d271e89f928b8a97 Author: Satyam Sharma Date: Fri Aug 10 15:30:31 2007 -0700 [NET] netconsole: Use netif_running() in write_msg() Based upon initial work by Keiichi Kii . Avoid unnecessarily disabling interrupts and calling netpoll_send_udp() if the corresponding local interface is not up. Signed-off-by: Satyam Sharma Acked-by: Keiichi Kii Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d2b60881e28072109601c373abd1085499ccfef0 Author: Satyam Sharma Date: Fri Aug 10 15:29:47 2007 -0700 [NET] netconsole: Simplify boot/module option setup logic Based upon initial work by Keiichi Kii . Presently, boot/module parameters are set up quite differently for the case of built-in netconsole (__setup() -> obsolete_checksetup() -> netpoll_parse_options() -> strlen(config) == 0 in init_netconsole()) vs modular netconsole (module_param_string() -> string copied to the config variable -> strlen(config) != 0 init_netconsole() -> netpoll_parse_options()). This patch makes both of them similar by doing exactly the equivalent of a module_param_string() in option_setup() also -- just copying the param string passed from the kernel command line into "config" variable. So, strlen(config) != 0 in both cases, and netpoll_parse_options() is always called from init_netconsole(), thus making the setup logic for both cases similar. Now, option_setup() is only ever called / used for the built-in case, so we put it inside a #ifndef MODULE, otherwise gcc will complain about option_setup() being "defined but not used". Also, the "configured" variable is redundant with this patch and hence removed. Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d133ccbdc30c7f86459519cec1126d6473762b10 Author: Satyam Sharma Date: Fri Aug 10 15:28:10 2007 -0700 [NET] netconsole: Remove bogus check Based upon initial work by Keiichi Kii . The (!np.dev) check in write_msg() is bogus (always false), because: np.dev is set by netpoll_setup(), which is called by init_netconsole() before register_console(), so write_msg() cannot be triggered unless netpoll_setup() successfully set np.dev. Also np.dev cannot go away from under us, because netpoll_setup() grabs us reference on it. So let's remove the bogus check. Signed-off-by: Satyam Sharma Acked-by: Keiichi Kii Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d39badf05b52f99169b22ce324fd31c8b44a0473 Author: Satyam Sharma Date: Fri Aug 10 15:27:24 2007 -0700 [NET] netconsole: Cleanups, codingstyle, prettyfication Based upon initial work by Keiichi Kii . (1) Remove unwanted headers. (2) Mark __init and __exit as appropriate. (3) Various trivial codingstyle and prettification stuff. Signed-off-by: Satyam Sharma Signed-off-by: Keiichi Kii Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit ab66b4a7a3969077f6e2a18a0d2d849d3b84a337 Author: Stephen Hemminger Date: Fri Aug 10 15:22:58 2007 -0700 [IPV4] fib_trie: macro cleanup This patch converts the messy macro for MASK_PFX to inline function and expands TKEY_GET_MASK in the one place it is used. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0680191642c27c81c9be4557d9c6aa3487c15f69 Author: Stephen Hemminger Date: Fri Aug 10 15:22:13 2007 -0700 [IPV4] fib_trie: cleanup Try this out: * replace macro's with inlines * get rid of places doing multiple evaluations of NODE_PARENT [akpm@linux-foundation.org: rcu_dereference wants an lval] Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 13dae426318aae073028a4b3bd493104a991e800 Author: Ilpo Järvinen Date: Fri Aug 10 14:31:21 2007 -0700 [TCP]: Update comment about highest_sack validity This stale info came from the original idea, which proved to be unnecessarily complex, sacked_out > 0 is easy to do and that when it's going to be needed anyway (it _can_ be valid also when sacked_out == 0 but there's not going to be a guarantee about it for now). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e60402d0a909ca2e6e2fbdf9ed004ef0fae36d33 Author: Ilpo Järvinen Date: Thu Aug 9 15:14:46 2007 +0300 [TCP]: Move sack_ok access to obviously named funcs & cleanup Previously code had IsReno/IsFack defined as macros that were local to tcp_input.c though sack_ok field has user elsewhere too for the same purpose. This changes them to static inlines as preferred according the current coding style and unifies the access to sack_ok across multiple files. Magic bitops of sack_ok for FACK and DSACK are also abstracted to functions with appropriate names. Note: - One sack_ok = 1 remains but that's self explanary, i.e., it enables sack - Couple of !IsReno cases are changed to tcp_is_sack - There were no users for IsDSack => I dropped it Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b9c4595bc4947faa236a849324fe3492e388d949 Author: Ilpo Järvinen Date: Fri Jul 27 16:36:17 2007 +0300 [TCP]: Don't panic if S+L skb is detected BUG_ON is an overkill. In fact, I was mislead by BUG_TRAP severity (equals to WARN_ON) which is much lower than BUG_ON's (that panics). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1b6d427bb7eb69e6dc4f194a5b0f4a382a16ff82 Author: Ilpo Järvinen Date: Thu Aug 9 14:53:36 2007 +0300 [TCP]: Reduce sacked_out with reno when purging write_queue Previously TCP had a transitional state during which reno counted segments that are already below the current window into sacked_out, which is now prevented. In addition, re-try now the unconditional S+L skb catching. This approach conservatively calls just remove_sack and leaves reset_sack() calls alone. The best solution to the whole problem would be to first calculate the new sacked_out fully (this patch does not move reno_sack_reset calls from original sites and thus does not implement this). However, that would require very invasive change to fastretrans_alert (perhaps even slicing it to two halves). Alternatively, all callers of tcp_packets_in_flight (i.e., users that depend on sacked_out) should be postponed until the new sacked_out has been calculated but it isn't any simpler alternative. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d02596e32925edaeccee0af8eb6c229b5615de42 Author: Ilpo Järvinen Date: Sat Jul 7 13:39:02 2007 +0300 [TCP]: Keep state in Disorder also if only lost_out > 0 This happens rather infrequently and is only possible during FRTO. We must not allow TCP to slip to Open state because tcp_fastretrans_alert might then not be called on it's time when FRTO has exited. This become a problem when left_out got removed and was replaced by just sacked_out. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 86426c22d24e0c904012711a14cb5021f4a167dc Author: Ilpo Järvinen Date: Thu Aug 9 14:45:17 2007 +0300 [TCP]: Restore over-zealous tcp_sync_left_out-like removals tcp_verify_left_out is useful for verifying S+L condition, so add it back to couple of places in where the code was not calling to tcp_sync_left_out but used own ad-hoc solution (before the tcp_sync_left_out got removed). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 005903bc3a0e8473fef809e8775db52dcd3cde63 Author: Ilpo Järvinen Date: Thu Aug 9 14:44:16 2007 +0300 [TCP]: Left out sync->verify (the new meaning of it) & definify Left_out was dropped a while ago, thus leaving verifying consistency of the "left out" as only task for the function in question. Thus make it's name more appropriate. In addition, it is intentionally converted to #define instead of static inline because the location of the invariant failure is the most important thing to have if this ever triggers. I think it would have been helpful e.g. in this case where the location of the failure point had to be based on some quesswork: http://lkml.org/lkml/2007/5/2/464 ...Luckily the guesswork seems to have proved to be correct. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 83ae40885f33e406c87c86b0bd4b6fd31a741f12 Author: Ilpo Järvinen Date: Thu Aug 9 14:37:30 2007 +0300 [TCP]: Add tcp_left_out(tp) "back" to get cleaner looking lines tp->left_out got removed but nothing came to replace it back then (users just did addition by themselves), so add function for users now. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b5860bbac7be1381626f3dc8a0cb970a60fcefb4 Author: Ilpo Järvinen Date: Thu Aug 9 14:33:18 2007 +0300 [TCP]: Tighten tcp_sock's belt, drop left_out It is easily calculable when needed and user are not that many after all. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 35e8694198ba94b62df8aa35fa6e52a1cfb86df2 Author: Ilpo Järvinen Date: Thu May 31 10:16:47 2007 +0300 [TCP]: Remove num_acked>0 checks from cong.ctrl mods pkts_acked There is no need for such check in pkts_acked because the callback is not invoked unless at least one segment got fully ACKed (i.e., the snd_una moved past skb's end_seq) by the cumulative ACK's snd_una advancement. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit af610b4ca19f513a50d47ea93ed57241383c8081 Author: Ilpo Järvinen Date: Fri Jun 15 12:58:38 2007 +0300 [TCP]: Add tcp_dec_pcount_approx int variant Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit bdf1ee5d3bd38d0c44bd7baa74e07adcbe4ceab1 Author: Ilpo Järvinen Date: Sun May 27 02:04:16 2007 -0700 [TCP]: Move code from tcp_ecn.h to tcp*.c and tcp.h & remove it No other users exist for tcp_ecn.h. Very few things remain in tcp.h, for most TCP ECN functions callers reside within a single .c file and can be placed there. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 539d243fdd7900fa5a544c7c154dc3ddf627e840 Author: Ilpo Järvinen Date: Sun May 27 02:03:20 2007 -0700 [TCP]: Access to highest_sack obsoletes forward_cnt_hint In addition, added a reference about the purpose of the loop. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9bff40fda015c4d0b57b444626cdcbf66066dbe7 Author: Ilpo Järvinen Date: Sun May 27 01:53:49 2007 -0700 [TCP] FRTO: remove unnecessary fackets/sacked_out recounting F-RTO does not touch SACKED_ACKED bits at all, so there is no need to recount them in tcp_enter_frto_loss. After removal of the else branch, nested ifs can be combined. This must also reset sacked_out when SACK is not in use as TCP could have received some duplicate ACKs prior RTO. To achieve that in a sane manner, tcp_reset_reno_sack was re-placed by the previous patch. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4ddf66769d2df868071420e2e0106746c6204ea3 Author: Ilpo Järvinen Date: Sun May 27 01:52:00 2007 -0700 [TCP]: Move Reno SACKed_out counter functions earlier Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d06e021d71d95aae402340dc3d9f79f9c8ad11d7 Author: David S. Miller Date: Mon Jun 18 22:43:06 2007 -0700 [TCP]: Extract DSACK detection code from tcp_sacktag_write_queue(). Signed-off-by: David S. Miller commit 19b2b486580f5939688d3e225acdc0f4b291ed0d Author: Ilpo Järvinen Date: Wed Mar 28 12:06:37 2007 -0700 [TCP]: Rexmit hint must be cleared instead of setting it Stupid error from my side. Even though now that I noticed this, I hoped it would have been an optimization but no, the counter hint is then incorrect. Thus clearing is necessary for now (I still suspect though that this path is never executed). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d8f4f2235abc7b30cf447ca3e22ac28326b12f28 Author: Ilpo Järvinen Date: Fri Apr 20 22:56:38 2007 -0700 [TCP]: Extracted rexmit hint clearing from the LOST marking code Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d738cd8fca948e45d53120247cb7a5f5be3ca09e Author: Ilpo Järvinen Date: Sat Mar 24 21:03:23 2007 -0700 [TCP]: Add highest_sack seqno, points to globally highest SACK It is guaranteed to be valid only when !tp->sacked_out. In most cases this seqno is available in the last ACK but there is no guarantee for that. The new fast recovery loss marking algorithm needs this as entry point. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d961db358f41033a8fc7b62948bc7cff1b4bb1fe Author: Thomas Graf Date: Wed Aug 8 23:12:56 2007 -0700 [NEIGH]: Netlink notifications Currently neighbour event notifications are limited to update notifications and only sent if the ARP daemon is enabled. This patch extends the existing notification code by also reporting neighbours being removed due to gc or administratively and removes the dependency on the ARP daemon. This allows to keep track of neighbour states without periodically fetching the complete neighbour table. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 4f494554f9b95d0de57c14c460d525e3715e3f6f Author: Thomas Graf Date: Wed Aug 8 23:12:36 2007 -0700 [NEIGH]: Combine neighbour cleanup and release Introduces neigh_cleanup_and_release() to be used after a neighbour has been removed from its neighbour table. Serves as preparation to add event notifications. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1e6e9342d41ff80ced0ad5dfcf084926700cdfc5 Author: Andrew Gallatin Date: Mon Sep 17 11:37:42 2007 -0700 [MYRI10GE]: Use LRO. Singed off by: Andrew Gallatin Signed-off-by: David S. Miller commit d4dc4ec9d84e0578b9bfbe56a11fafdb7cbac771 Author: Jan-Bernd Themann Date: Tue Sep 25 16:16:34 2007 -0700 [EHEA]: Use LRO. Signed-off-by: Jan-Bernd Themann Signed-off-by: David S. Miller commit 71c87e0cedca843162206c698cfa02e5fea9e2e3 Author: Jan-Bernd Themann Date: Wed Aug 8 22:38:05 2007 -0700 [NET]: Generic Large Receive Offload for TCP traffic This patch provides generic Large Receive Offload (LRO) functionality for IPv4/TCP traffic. LRO combines received tcp packets to a single larger tcp packet and passes them then to the network stack in order to increase performance (throughput). The interface supports two modes: Drivers can either pass SKBs or fragment lists to the LRO engine. Signed-off-by: Jan-Bernd Themann Signed-off-by: David S. Miller commit e314dbdc1c0dc6a548ecf0afce28ecfd538ff568 Author: Pavel Emelyanov Date: Tue Sep 25 16:14:46 2007 -0700 [NET]: Virtual ethernet device driver. Veth stands for Virtual ETHernet. It is a simple tunnel driver that works at the link layer and looks like a pair of ethernet devices interconnected with each other. Mainly it allows to communicate between network namespaces but it can be used as is as well. The newlink callback is organized that way to make it easy to create the peer device in the separate namespace when we have them in kernel. This implementation uses another interface - the RTM_NRELINK message introduced by Patric. Bug fixes from Daniel Lezcano. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e71992889ee289a87f6641cfa40d64a5699bcb53 Author: Pavel Emelianov Date: Wed Aug 8 22:16:38 2007 -0700 [RTNETLINK]: Introduce generic rtnl_create_link(). This routine gets the parsed rtnl attributes and creates a new link with generic info (IFLA_LINKINFO policy). Its intention is to help the drivers, that need to create several links at once (like VETH). This is nothing but a copy-paste-ed part of rtnl_newlink() function that is responsible for creation of new device. Signed-off-by: Pavel Emelianov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit bea3348eef27e6044b6161fd04c3152215f96411 Author: Stephen Hemminger Date: Wed Oct 3 16:41:36 2007 -0700 [NET]: Make NAPI polling independent of struct net_device objects. Several devices have multiple independant RX queues per net device, and some have a single interrupt doorbell for several queues. In either case, it's easier to support layouts like that if the structure representing the poll is independant from the net device itself. The signature of the ->poll() call back goes from: int foo_poll(struct net_device *dev, int *budget) to int foo_poll(struct napi_struct *napi, int budget) The caller is returned the number of RX packets processed (or the number of "NAPI credits" consumed if you want to get abstract). The callee no longer messes around bumping dev->quota, *budget, etc. because that is all handled in the caller upon return. The napi_struct is to be embedded in the device driver private data structures. Furthermore, it is the driver's responsibility to disable all NAPI instances in it's ->stop() device close handler. Since the napi_struct is privatized into the driver's private data structures, only the driver knows how to get at all of the napi_struct instances it may have per-device. With lots of help and suggestions from Rusty Russell, Roland Dreier, Michael Chan, Jeff Garzik, and Jamal Hadi Salim. Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra, Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan. [ Ported to current tree and all drivers converted. Integrated Stephen's follow-on kerneldoc additions, and restored poll_list handling to the old style to fix mutual exclusion issues. -DaveM ] Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dde4e47e8fe333a5649a3fa0e7db1fa7c08d6158 Author: Johannes Berg Date: Mon Aug 13 14:04:30 2007 +0200 [WIRELESS] radiotap parser: accept all other fields This makes the radiotap parser accept all other fields that are currently defined. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fe6aa301c747e0eca140428426e065657b6ab412 Author: Larry Finger Date: Fri Aug 10 11:23:20 2007 -0500 [MAC80211]: Add SIOCGIWTXPOWER routine The wireless extensions ioctl's implemented in mac80211 do not include SIOCGIWTXPOWER. This patch adds the necessary code. Acked-by: Michael Buesch Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 744b096e2b0976a10ae9a66aa6a3ae7fa4fce9f1 Author: Thomas Graf Date: Sun Jul 22 12:43:32 2007 +0200 [WIRELESS]: Use type safe netlink interface Makes use of the type safe netlink interface and adds a warning if the message is too big for NLMSG_DEFAULT_SIZE to help debug. Signed-off-by: Thomas Graf Signed-off-by: John W. Linville commit 1bec3f1a3ec5d922d1040c7845b82cd496c02d90 Author: Johannes Berg Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: fix add_interface monitor mode behaviour This makes it behave the same whether we have monitor during operation or not. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 9b8a74e3482f9fc077a88c13fa0ceca8feb0b772 Author: Andy Green Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: Improve sanity checks on injected packets Michael Wu noticed that the skb length checking is not taken care of enough when a packet is presented on the Monitor interface for injection. This patch improves the sanity checking and removes fake offsets placed into the skb network and transport header. Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit dfe6e81deaa79c85086c0cc8d85b229e444ab97f Author: Andy Green Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: Add get_unaligned to ieee80211_get_radiotap_len ieee80211_get_radiotap_len() tries to dereference radiotap length without taking care that it is completely unaligned and get_unaligned() is required. Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 0ec0b7ac3cdfb8635d75aead5733f7a424ea4ad3 Author: Michael Wu Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: use more GFP_KERNEL instead of GFP_ATOMIC This patch replaces atomic allocations with regular ones where possible. Merged with "revert some GFP_ATOMIC -> GFP_KERNEL changes" from Michael Wu: > Some of the allocations made with GFP_ATOMIC really were necessary. Signed-off-by: Michael Wu Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit d9430a32886f70c0c16d67c525f6cda2df7906ee Author: Daniel Drake Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: implement ERP info change notifications zd1211rw and bcm43xx are interested in being notified when ERP IE conditions change, so that they can reprogram a register which affects how control frames are transmitted. This patch adds an interface similar to the one that can be found in softmac. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 7e9ed18874f0df84b6651f0636e1cfdac43bc610 Author: Daniel Drake Date: Fri Jul 27 15:43:24 2007 +0200 [MAC80211]: improved short preamble handling Similarly to CTS protection, whether short preambles are used for 802.11b transmissions should be a per-subif setting, not device global. For STAs, this patch makes short preamble handling automatic based on the ERP IE. For APs, hostapd still uses the prism ioctls, but the write ioctl has been restricted to AP-only subifs. ieee80211_txrx_data.short_preamble (an unused field) was removed. Unfortunately, some API changes were required for the following functions: - ieee80211_generic_frame_duration - ieee80211_rts_duration - ieee80211_ctstoself_duration - ieee80211_rts_get - ieee80211_ctstoself_get Affected drivers were updated accordingly. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit d5d08def9216c445339c5a24a2cdc9cc2c8c13f7 Author: Ivo van Doorn Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: Add LONG_RETRY flag to ieee80211_tx_control mac80211 informs the driver what the short and long retry values are through set_retry_limit(), but when packets are being transmitted it did not inform the driver which of the 2 retry limits should actually be used. Instead it sends the actual value, but for drivers that can only set the retry limit and the register and in the descriptor need to indicate which of the limits should be used this is not really useful. This patch will add a IEEE80211_TXCTL_LONG_RETRY_LIMIT flag to the ieee80211_tx_control structure. By default the short retry limit should be used but if the flag is set the long retry should be used. This does not prevent the driver to ignore the request for "no retry" packets, but at least those will be send out with the short retry limit. But there is no perfect cure for this problem.. :( Signed-off-by: Ivo van Doorn Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 8a69aa93d54cb56017159b08512c80ede2263060 Author: Daniel Drake Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: STA reassociation improvements My cheapy D-Link AP behaves strangely w.r.t reassociations. The following sequence of commands causes me to lose association and to be unable to regain it: ifconfig eth8 down ifconfig eth8 up iwconfig eth8 essid This is because mac80211 tries to reassociate, rather than just associate. My AP replies with an association response (not a reassociation response...) denying the association with code 12: "Association denied due to reason outside the scope of this standard" mac80211 tries this reassociation another 4 times or so before finally giving up. I see 2 problems here: 1. bringing the interface down and up again should be resetting interface state i.e. after the interface is brought down, it should have no memory of if or where it was previously associated 2. after the first reassociation fails, mac80211 should fall back to standard association for the next attempt Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit be8755e1804d6f60e6a96a46ac6bc46ce6dfca53 Author: Michael Wu Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: improve locking of sta_info related structures The sta_info code has some awkward locking which prevents some driver callbacks from being allowed to sleep. This patch makes the locking more focused so code that calls driver callbacks are allowed to sleep. It also converts sta_lock to a rwlock. Signed-off-by: Michael Wu Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit c2d1560ad8c2f6e0dd0d34102d022f3709325c26 Author: Johannes Berg Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: introduce util.c Introduce a new file util.c and move a whole bunch of functions into it. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit b2c258fb11b3fc77a73f8b0453ff1256de812bc6 Author: Johannes Berg Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: reorder interface related functions This patch groups a whole bunch of functions together to make ieee80211.c more maintainable. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit ff6880892990aece71a3271425dfde35344d51bb Author: Johannes Berg Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: move some rate control functions out of ieee80211.c I think these can go with rate control just as well and it makes ieee80211.c more readable. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 1f5a7e47ae58cc23c623c09f1c9d97b7a8cf6344 Author: Johannes Berg Date: Fri Jul 27 15:43:23 2007 +0200 [MAC80211]: split out some key functions from ieee80211.c into a new file key.c which doesn't have much code right now but it makes ieee80211.c easier to read. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 75c35aa4e2931b22e8e95fa2d6380eebac229f30 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: remove some unnecessary includes Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit e2ebc74d7e3d71600640db6fbb28cc2f362184c1 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: split TX path into own file Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 340e11f332c695c43f506e82b1d39d00716c5005 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: rx cleanups (2) Some more outdenting to make the code more readable. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 52865dfd520ddd3d1176947106759ff944f0f8af Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: fix bug for per-sta stats pre_rx handlers can't really touch sta since for IBSS it might not be assigned yet, it can create sta info structs on-the-fly. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 23a24defa0da567eac615828563935c195fb48dc Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: split up __ieee80211_rx The really indented part that does the huge switch on the interface type is a nuisance. Put it into an own function 'prepare_for_handlers'. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 570bd537a9a1520ddebfed772bcf6eaf7510bec4 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: split ieee80211_rx_h_check handler The ieee80211_rx_h_check handler really does two things, it's a lot easier to understand if it's split into ieee80211_rx_h_check and ieee80211_rx_h_load_key, and it may be possible in the future to optimise the key loading to not do it for each interface. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 8e6f003274147359ea612663048298823bed131f Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: rx cleanups (1) Make some really indented code more readable by outdenting. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 6e0d114d52833449a4e40f6dc8582e88d0742be4 Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: move QoS rx handlers into rx.c This patch moves the QoS handlers into rx.c making it possible to compile wme.c only when NET_SCHED is defined. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 571ecf676d66735f59be6b950360e4074f02f47d Author: Johannes Berg Date: Fri Jul 27 15:43:22 2007 +0200 [MAC80211]: split RX handlers into own file Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 3d73c2884f45f9a297cbc956cea101405a9703f2 Author: Roland Dreier Date: Wed Oct 10 15:43:54 2007 -0700 mlx4_core: Fix section mismatches Commit ee49bd93 ("mlx4_core: Reset device when internal error is detected") introduced some section mismatch problems when CONFIG_HOTPLUG=n, because the error recovery code tears down and reinitializes the device after everything is loaded, which ends up calling into lots of code marked __devinit and __devexit from regular .text. Fix this by getting rid of these now-incorrect section markers. Signed-off-by: Roland Dreier commit 335a64a5a958002bc238c90de695e120c3c8c120 Author: Or Gerlitz Date: Mon Oct 8 10:13:00 2007 +0200 IPoIB: Allow setting policy to ignore multicast groups The kernel IB stack allows (through the RDMA CM) userspace applications to join and use multicast groups from the IPoIB MGID range. This allows multicast traffic to be handled directly from userspace QPs, without going through the kernel stack, which gives better performance for some applications. However, to fully interoperate with IP multicast, such userspace applications need to participate in IGMP reports and queries, or else routers may not forward the multicast traffic to the system where the application is running. The simplest way to do this is to share the kernel IGMP implementation by using the IP_ADD_MEMBERSHIP option to join multicast groups that are being handled directly in userspace. However, in such cases, the actual multicast traffic should not also be handled by the IPoIB interface, because that would burn resources handling multicast packets that will just be discarded in the kernel. To handle this, this patch adds lookup on the database used for IB multicast group reference counting when IPoIB is joining multicast groups, and if a multicast group is already handled by user space, then the IPoIB kernel driver ignores the group. This is controlled by a per-interface policy flag. When the flag is set, IPoIB will not join and attach its QP to a multicast group which already has an entry in the database; when the flag is cleared, IPoIB will behave as before this change. For each IPoIB interface, the /sys/class/net/$intf/umcast attribute controls the policy flag. The default value is off/0. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 55a98e955caab78a5959933a4a3a0136e2491d6c Author: Eli Cohen Date: Wed Oct 10 17:55:37 2007 +0200 IB/mthca: Mark error paths as unlikely() in post_srq_recv functions Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit c783837bc69dd0f329a441c1704f5a02d01d1bd5 Author: Nicolas Pitre Date: Tue Oct 9 17:07:58 2007 -0400 pxamci: support arbitrary block size The PXA has two transmit FIFOes, each32 byte deep. when one FIFO is full and the other one has been transmitted, they are automatically swapped and DMA is triggered for another 32 byte burst. However, when there is less than 32 bytes left to send, the FIFO swap has to be done manually. This is required for some SDIO transfers which are not required to be multiples of 32 bytes. A DMA completion interrupt is set for each descriptor which length isn't a multiple of 32 in order to force the FIFO swap. While at it, the DMA interrupt handler has been made a bit more resilient against errors. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit a991f44b79fa49b281eb078eed4a76a42101012a Author: Trent Piepho Date: Wed Oct 10 05:37:43 2007 -0300 V4L/DVB (6316): Change list_for_each+list_entry to list_for_each_entry The rest of V4L files. There is one list_for_each+list_entry in cpia_pp.c that wasn't changed because it expects the loop iterator to remain NULL if the list is empty. A bug in vivi is fixed; the 'safe' version needs to be used because the loop deletes the list entries. Simplify a second loop in vivi and get rid if an un-used variable in that loop. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e77e2c2f2989eefff7e1c0fff9cb72afaedf6796 Author: Trent Piepho Date: Wed Oct 10 05:37:42 2007 -0300 V4L/DVB (6315): pvrusb2: Change list_for_each+list_entry to list_for_each_entry Signed-off-by: Trent Piepho Reviewed-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6d28e98906aa9405895f92348543d08da1837ea5 Author: Trent Piepho Date: Wed Oct 10 05:37:42 2007 -0300 V4L/DVB (6314): saa7134: Replace list_for_each+list_entry with list_for_each_entry A couple loops weren't changed because they expected the loop iterator to be left as NULL if the list was empty. Maybe the code should just check for that first, then loop? Adjust some of the loop logic to be simpler. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 805a43924158e4eb2bffc4cac0aedcfb42a89469 Author: Trent Piepho Date: Wed Oct 10 05:37:41 2007 -0300 V4L/DVB (6313): ivtv: Replace list_for_each+list_entry with list_for_each_entry Also fixed a few cases of cut&paste errors where 'buf' would be set to the first entry in the list prior to be used as the loop iterator. In one case the value of buf was used before it was changed, but the rest were unnecessary. There was one list_for_each+list_entry loop that wasn't changed, since it depending on the loop iterator being left as NULL if the list was empty. Signed-off-by: Trent Piepho CC: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8bb629e22f2547736c24fe4738673e20cc06d469 Author: Trent Piepho Date: Wed Oct 10 05:37:40 2007 -0300 V4L/DVB (6312): cx88: Replace list_for_each+list_entry with list_for_each_entry Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 7948261942ffdb35e274b8e1a0889601f45d4603 Author: Trent Piepho Date: Wed Oct 10 05:37:39 2007 -0300 V4L/DVB (6311): dvb: Replace list_for_each+list_entry with list_for_each_entry Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e1eea9fa00da50ed3dfb64ce669e9ae0b70c0629 Author: Grant Likely Date: Tue Oct 9 14:45:26 2007 -0600 [POWERPC] Add co-maintainer for PowerPC MPC52xx platform Added at the request of Sylvain Munaut. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut commit 4de3b992a6880828943f1b5849e1e7153fe4185c Author: Grant Likely Date: Tue Oct 9 14:45:28 2007 -0600 [POWERPC] MPC5200: Don't make firmware fixups into common code The Lite5200 u-boot image doesn't entirely configure the processor correctly and so Linux needs to fixup the cpu setup in setup_arch. Fixing the CPU setup is good, but making it into common code is not a good idea. New board ports should be encouraged not to take the lead of the lite5200 and instead get their firmware to setup the CPU the right way. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut commit 9fe2e7969d5e5af7dbd2086f2e18f4ebc585490d Author: Grant Likely Date: Wed Oct 10 09:52:00 2007 -0600 [POWERPC] MPC52xx: Trim includes on mpc5200 platform support code Drop unnecessary includes for MPC5200 based boards Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut commit aa2091b5403a9149bdb1329cc0575d8fa9c39633 Author: Grant Likely Date: Tue Oct 9 14:45:26 2007 -0600 [POWERPC] MPC52xx: Drop show_cpuinfo platform hooks from Lite5200 This hook doesn't really add any new information. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut commit 17c5c2093624e81acda16fb737e4679750addd7a Author: Grant Likely Date: Thu Oct 4 15:44:54 2007 -0600 [POWERPC] Uartlite: bootwrapper bug fix, getc loops forever Fixes inverted logic in uartlite_getc Signed-off-by: Grant Likely commit 4c3d514d7e5b394d1df76201aada8956c9605882 Author: Grant Likely Date: Thu Oct 4 15:44:51 2007 -0600 [POWERPC] Don't build arch/powerpc/sysdev/dcr.c for ARCH=ppc kernels dcr.c is an arch/powerpc only thing. Compiling ppc405 arch/ppc kernels throws warnings without this change. Signed-off-by: Grant Likely commit f210d43ce1a41ba56640bbd8d8bfe817dd2b1297 Author: Grant Likely Date: Wed Oct 3 23:24:52 2007 -0600 [POWERPC] Virtex: Fix URL for Xilinx Virtex support in MAINTAINERS Change URL in MAINTAINERS to a more relevant one. Signed-off-by: Grant Likely commit b9a22794f2c186b5722eac94b6735e797d976027 Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: sparse fixes Signed-off-by: Grant Likely commit 68ee0f9c98a42e36f9eab29155b2bb0e7e409ac6 Author: Magnus Damm Date: Wed Oct 10 18:04:42 2007 +0900 sh: allow building for both r2d boards in same binary. This patch enables building for both R2D-PLUS and R2D-1 boards. All code is already in place except for the Kconfig limitation. This is useful if you want to run the same binary on both R2D-PLUS and R2D-1 boards. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9cbf3be67d51f73cf125aa8dec4ec8c215f264e8 Author: Magnus Damm Date: Wed Oct 10 18:03:58 2007 +0900 sh: fix r2d board detection This patch fixes the R2D-PLUS and R2D-1 board detection code. Tested on two R2D-PLUS and two R2D-1 boards. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c36258b5925e6cf6bf72904635100593573bfcff Author: David Teigland Date: Thu Sep 27 15:53:38 2007 -0500 [DLM] block dlm_recv in recovery transition Introduce a per-lockspace rwsem that's held in read mode by dlm_recv threads while working in the dlm. This allows dlm_recv activity to be suspended when the lockspace transitions to, from and between recovery cycles. The specific bug prompting this change is one where an in-progress recovery cycle is aborted by a new recovery cycle. While dlm_recv was processing a recovery message, the recovery cycle was aborted and dlm_recoverd began cleaning up. dlm_recv decremented recover_locks_count on an rsb after dlm_recoverd had reset it to zero. This is fixed by suspending dlm_recv (taking write lock on the rwsem) before aborting the current recovery. The transitions to/from normal and recovery modes are simplified by using this new ability to block dlm_recv. The switch from normal to recovery mode means dlm_recv goes from processing locking messages, to saving them for later, and vice versa. Races are avoided by blocking dlm_recv when setting the flag that switches between modes. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b434eda6fda5bcdcc2dd918e5ffbf7184f2d4e17 Author: Patrick Caulfield Date: Mon Oct 1 15:28:42 2007 +0100 [DLM] don't overwrite castparam if it's NULL If the castaddr passed to the userland API is NULL then don't overwrite the existing castparam. This allows a different thread to cancel a lock request and the CANCEL AST gets delivered to the original thread. bz#306391 (for RHEL4) refers. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 5a60c532c9224babc172fafccc9e2fec6937af6f Author: Steven Whitehouse Date: Wed Sep 26 09:39:31 2007 +0100 [GFS2] Get superblock a different way The mapping may be NULL by the time the I/O has completed, so we now get the superblock by a different route (via the bd and glock) to avoid this problem. Signed-off-by: Steven Whitehouse Cc: Wendy Cheng commit 891ba6d4a5f9e6302bb6542592d73feb4d0d3687 Author: Steven Whitehouse Date: Thu Sep 20 15:26:33 2007 +0100 [GFS2] Don't try to remove buffers that don't exist Signed-off-by: Steven Whitehouse commit 7a9f53b3c1875bef22ad4588e818bc046ef183da Author: Benjamin Marzinski Date: Tue Sep 18 13:33:18 2007 -0500 [GFS2] Alternate gfs2_iget to avoid looking up inodes being freed There is a possible deadlock between two processes on the same node, where one process is deleting an inode, and another process is looking for allocated but unused inodes to delete in order to create more space. process A does an iput() on inode X, and it's i_count drops to 0. This causes iput_final() to be called, which puts an inode into state I_FREEING at generic_delete_inode(). There no point between when iput_final() is called, and when I_FREEING is set where GFS2 could acquire any glocks. Once I_FREEING is set, no other process on that node can successfully look up that inode until the delete finishes. process B locks the the resource group for the same inode in get_local_rgrp(), which is called by gfs2_inplace_reserve_i() process A tries to lock the resource group for the inode in gfs2_dinode_dealloc(), but it's already locked by process B process B waits in find_inode for the inode to have the I_FREEING state cleared. Deadlock. This patch solves the problem by adding an alternative to gfs2_iget(), gfs2_iget_skip(), that simply skips any inodes that are in the I_FREEING state.o The alternate test function is just like the original one, except that it fails if the inode is being freed, and sets a skipped flag. The alternate set function is just like the original, except that it fails if the skipped flag is set. Only try_rgrp_unlink() calls gfs2_iget_skip() instead of gfs2_iget(). Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit de986e859a29097fb9211b052d86a9a2c868f6cd Author: Wendy Cheng Date: Tue Sep 18 09:19:13 2007 -0400 [GFS2] Data corruption fix * GFS2 has been using i_cache array to store its indirect meta blocks. Its flush routine doesn't correctly clean up all the entries. The problem would show while multiple nodes do simultaneous writes to the same file. Upon glock exclusive lock transfer, if the file is a sparse file with large file size where the indirect meta blocks span multiple array entries with "zero" entries in between. The flush routine prematurely stops the flushing that leaves old (stale) entries around. This leads to several nasty issues, including data corruption. * Fix gfs2_get_block_noalloc checking to correctly return EIO upon unmapped buffer. Signed-off-by: Wendy Cheng Signed-off-by: Steven Whitehouse commit 16615be18cadf53ee6f8a4f0bdd647f0753421b1 Author: Steven Whitehouse Date: Mon Sep 17 10:59:52 2007 +0100 [GFS2] Clean up journaled data writing This patch cleans up the code for writing journaled data into the log. It also removes the need to allocate a small "tag" structure for each block written into the log. Instead we just keep count of the outstanding I/O so that we can be sure that its all been written at the correct time. Another result of this patch is that a number of ll_rw_block() calls have become submit_bh() calls, closing some races at the same time. Signed-off-by: Steven Whitehouse commit 55c0c4ac0be144014651b19e77c9b77f367955de Author: Bob Peterson Date: Fri Sep 14 09:27:59 2007 -0500 [GFS2] GFS2: chmod hung - fix race in thread creation The problem boiled down to a race between the gdlm_init_threads() function initializing thread1 and its setting of blist = 1. Essentially, "if (current == ls->thread1)" was checked by the thread before the thread creator set ls->thread1. Since thread1 is the only thread who is allowed to work on the blocking queue, and since neither thread thought it was thread1, no one was working on the queue. So everything just sat. This patch reuses the ls->async_lock spin_lock to fix the race, and it fixes the problem. I've done more than 2000 iterations of the loop that was recreating the failure and it seems to work. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse -- commit d66f8277f53407754f50ae6bada68f1b68d04d48 Author: Patrick Caulfield Date: Fri Sep 14 08:49:21 2007 +0100 [DLM] Make dlm_sendd cond_resched more Under high recovery loads dlm_sendd can monopolise the CPU and cause soft lockups. This one extra and one moved cond_resched() make it yield a little more during such times keeping work moving. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 49e61f2ef6f7d1d0296e3e30d366b28e0ca595c2 Author: Wendy Cheng Date: Thu Sep 13 17:52:42 2007 -0400 [GFS2] Move inode deletion out of blocking_cb Move inode deletion code out of blocking_cb handle_callback route to avoid racy conditions that end up blocking lock_dlm1 thread. Fix bugzilla 286821. Signed-off-by: Wendy Cheng Signed-off-by: Steven Whitehouse commit b4c20166dcfca106f0f416bfce200099ed76ab18 Author: Abhijith Das Date: Thu Sep 13 23:35:27 2007 -0500 [GFS2] flocks from same process trip kernel BUG at fs/gfs2/glock.c:1118! This patch adds a new flag to the gfs2_holder structure GL_FLOCK. It is set on holders of glocks representing flocks. This flag is checked in add_to_queue() and a process is permitted to queue more than one holder onto a glock if it is set. This solves the issue of a process not being able to do multiple flocks on the same file. Through a single descriptor, a process can now promote and demote flocks. Through multiple descriptors a process can now queue multiple flocks on the same file. There's still the problem of a process deadlocking itself (because gfs2 blocking locks are not interruptible) by queueing incompatible deadlock. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 1ad38c437fa33f85ba4b6a85ea8c5478ee72d5bd Author: Steven Whitehouse Date: Mon Sep 3 11:01:33 2007 +0100 [GFS2] Clean up gfs2_trans_add_revoke() The following alters gfs2_trans_add_revoke() to take a struct gfs2_bufdata as an argument. This eliminates the memory allocation which was previously required by making use of the already existing struct gfs2_bufdata. It makes some sanity checks to ensure that the gfs2_bufdata has been removed from all the lists before its recycled as a revoke structure. This saves one memory allocation and one free per revoke structure. Also as a result, and to simplify the locking, since there is no longer any blocking code in gfs2_trans_add_revoke() we must hold the log lock whenever this function is called. This reduces the amount of times we take and unlock the log lock. Signed-off-by: Steven Whitehouse commit 0820ab517e1b100ee3f9584ec27f93309689ebe7 Author: Steven Whitehouse Date: Sun Sep 2 16:47:38 2007 +0100 [GFS2] Use slab operations for all gfs2_bufdata allocations The old revoke structure was allocated using kalloc/kfree but there is a slab cache for gfs2_bufdata, so we should use that now that the structures have been converted. This is part two of the patch series to merge the revoke and gfs2_bufdata structures. Signed-off-by: Steven Whitehouse commit 82e86087bb774cd54d47db4a7c771b5b29bea9ed Author: Steven Whitehouse Date: Sun Sep 2 15:39:43 2007 +0100 [GFS2] Replace revoke structure with bufdata structure Both the revoke structure and the bufdata structure are quite similar. They are basically small tags which are put on lists. In addition to which the revoke structure is always allocated when there is a bufdata structure which is (or can be) freed. As such it should be possible to reduce the number of frees and allocations by using the same structure for both purposes. This patch is the first step along that path. It replaces existing uses of the revoke structure with the bufdata structure. Signed-off-by: Steven Whitehouse commit 8475487befb29eeb038fef374a7433d276336a25 Author: Bob Peterson Date: Sun Sep 2 10:55:29 2007 +0100 [GFS2] Fix ordering of dirty/journal for ordered buffer unstuffing Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit d7b616e252b125f12b007c392f7644053bb6f140 Author: Steven Whitehouse Date: Sun Sep 2 10:48:13 2007 +0100 [GFS2] Clean up ordered write code The following patch removes the ordered write processing from databuf_lo_before_commit() and moves it to log.c. This has the effect of greatly simplyfying databuf_lo_before_commit() and well as potentially making the ordered write code more efficient. As a side effect of this, its now possible to remove ordered buffers from the ordered buffer list at any time, so we now make use of this in invalidatepage and releasepage to ensure timely release of these buffers. Signed-off-by: Steven Whitehouse commit 9b9107a5a8b190e6cf09bbdf893869c6a9c482cc Author: Steven Whitehouse Date: Mon Aug 27 13:54:05 2007 +0100 [GFS2] Move pin/unpin into lops.c, clean up locking gfs2_pin and gfs2_unpin are only used in lops.c, despite being defined in meta_io.c, so this patch moves them into lops.c and makes them static. At the same time, its possible to clean up the locking in the buf and databuf _lo_add() functions so that we only need to grab the spinlock once. Also we have to move lock_buffer() around the _lo_add() functions since we can't do that in gfs2_pin() any more since we hold the spinlock for the duration of that function. As a result, the code shrinks by 12 lines and we do far fewer operations when adding buffers to the log. It also makes the code somewhat easier to read & understand. Signed-off-by: Steven Whitehouse commit eaf965270ffff3086ef929e660ace45e862cfd2d Author: Steven Whitehouse Date: Mon Aug 27 09:49:37 2007 +0100 [GFS2] Don't mark jdata dirty in gfs2_unstuffer_page() Journaled data is marked dirty by gfs2_unpin and should not be marked dirty here. Signed-off-by: Steven Whitehouse commit 1e1a3d03e927d39282208aed676e49d25129feea Author: Steven Whitehouse Date: Mon Aug 27 09:45:26 2007 +0100 [GFS2] Introduce gfs2_remove_from_ail This collects together the operations required to remove a gfs2_bufdata from the ail lists. Its only called from two places to start with, but expect to see more of this function in future. Signed-off-by: Steven Whitehouse commit 8497a46e178addb27ad1c981befaa17ca788b5c3 Author: Steven Whitehouse Date: Sun Aug 26 14:23:56 2007 +0100 [GFS2] Correct lock ordering in unlink This patch corrects the lock ordering in unlink to be the same as that in the rest of GFS2, i.e. parent -> child -> rgrp. Signed-off-by: Steven Whitehouse commit e9bd2b3bafd29bf75522546207f0bba0ec4515c2 Author: Wendy Cheng Date: Fri Aug 24 09:15:01 2007 -0400 [GFS2] fix inode meta data corruption Fix a nasty inode meta data corruption issue by keeping the buffer head in icache array. This buffer needs to stay in memory until journal flush occurs Otherwise, gfs2_meta_inode_buffer could do a disk read before the inode hits disk. It ends up with meta data corruptions. The buffer will be released as part of the existing journal flush logic. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit c4f68a130fc1795e4a75ec5bdaf9e85d86c22419 Author: Benjamin Marzinski Date: Thu Aug 23 13:19:05 2007 -0500 [GFS2] delay glock demote for a minimum hold time When a lot of IO, with some distributed mmap IO, is run on a GFS2 filesystem in a cluster, it will deadlock. The reason is that do_no_page() will repeatedly call gfs2_sharewrite_nopage(), because each node keeps giving up the glock too early, and is forced to call unmap_mapping_range(). This bumps the mapping->truncate_count sequence count, forcing do_no_page() to retry. This patch institutes a minimum glock hold time a tenth a second. This insures that even in heavy contention cases, the node has enough time to get some useful work done before it gives up the glock. A second issue is that when gfs2_glock_dq() is called from within a page fault to demote a lock, and the associated page needs to be written out, it will try to acqire a lock on it, but it has already been locked at a higher level. This patch puts makes gfs2_glock_dq() use the work queue as well, to avoid this issue. This is the same patch as Steve Whitehouse originally proposed to fix this issue, execpt that gfs2_glock_dq() now grabs a reference to the glock before it queues up the work on it. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit d1e2777d4f419a865ddccdb9b3412021d0e4de51 Author: Abhijith Das Date: Thu Aug 23 13:33:01 2007 -0500 [GFS2] panic after can't parse mount arguments When you try to mount gfs2 with -o garbage, the mount fails and the gfs2 superblock is deallocated and becomes NULL. The vfs comes around later on and calls gfs2_kill_sb. At this point the hidden gfs2 superblock pointer (sb->s_fs_info) is NULL and dereferencing it through gfs2_meta_syncfs causes the panic. (the other function call to gfs2_delete_debugfs_file() succeeds because this function already checks for a NULL pointer) Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit ec217e0ece60f2240772e6f08e0529775846c627 Author: Bob Peterson Date: Wed Aug 22 11:15:29 2007 -0500 [GFS2] Patch to protect sd_log_num_jdata This is a patch to GFS2 to protect sd_log_num_jdata with the gfs2_log_lock. Without this patch, there is a timing window where you can get hit the following assert from function gfs2_log_flush(): gfs2_assert_withdraw(sdp, sdp->sd_log_num_buf + sdp->sd_log_num_jdata == sdp->sd_log_commited_buf + sdp->sd_log_commited_databuf); I've tested it on my roth cluster and it fixes the problem. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit a947e0335699a1d387c3826e5b8eff9e0afe505e Author: Abhijith Das Date: Tue Aug 21 09:57:29 2007 -0500 [GFS2] Wendy's dump lockname in hex & fix glock dump With this patch, gfs2 glockdump through the debugfs filesystem will only dump glocks for the specified filesystem instead of all glocks. Also, to aid debugging, the glock number is dumped in hex instead of decimal. Signed-off-by: Steven Whitehouse Signed-off-by: S. Wendy Cheng Signed-off-by: Abhijith Das commit 61d96be0f474df354c2ff4a2b2bf410b23a5cd60 Author: Patrick Caulfield Date: Mon Aug 20 15:13:38 2007 +0100 [DLM] Fix lowcomms socket closing This patch fixes the slight mess made in lowcomms closing by previous patches and fixes all sorts of DLM hangs. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit a13b8c5f2381495879e6facd3b3ada51c9e68194 Author: Wendy Cheng Date: Mon Aug 20 09:29:53 2007 -0400 [GFS2] Reduce truncate IO traffic Current GFS2 setattr call unconditionally invokes do_shrink even the requested size and actual file size are equal. This has generated large amount of extra IOs found during NFS benchmark runs. This patch moves the relevant logic out of shrink code path. Since setattr is a system call, the time stamps update is still required. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 9a5ad13856cbd10be429f09517c51277c02530f7 Author: Benjamin Marzinski Date: Fri Aug 17 20:22:07 2007 -0500 [GFS2] Add NULL entry to token table match_token() was returning garbage data instead of a fail value. This data happened to match a valid option id for an option that required an argument (in this case, lockproto=%s) For match_token() to correctly fail if the option doesn't match any of the tokens, the token table must end with a NULL entry. This patch adds the NULL entry. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit 382e6e256b0cb1a84a45a520cef75d1b8ff44663 Author: Steven Whitehouse Date: Thu Aug 16 17:08:20 2007 +0100 [GFS2] Add a missing gfs2_trans_add_bh() This was missing from the dir_split_leaf() function although in most cases its not a problem due to other functions having already previously called gfs2_trans_add_bh. This makes certain that it is correct. Signed-off-by: Steven Whitehouse Cc: Wendy Cheng commit bb3b0e3df5420fdf2c6bbb4417525c6d2ef55bbb Author: Steven Whitehouse Date: Thu Aug 16 16:03:57 2007 +0100 [GFS2] Clean up invalidatepage/releasepage This patch fixes some bugs relating to journaled data files by cleaning up the gfs2_invalidatepage() and gfs2_releasepage() functions. We now never block during gfs2_releasepage(), instead we always either release or refuse to release depending on the status of the buffers. This fixes Red Hat bugzillas #248969 and #252392. Signed-off-by: Steven Whitehouse Cc: Bob Peterson commit 2d9a4bbf6d28673f4057682cc02d16bf288b4a35 Author: Abhijith Das Date: Wed Aug 15 11:25:05 2007 -0500 [GFS2] Fix quota do_list operation hang This is the filesystem part of the patches to fix this bz. There are additional userland patches (gfs2_quota, libgfs2) for the complete solution. This patch adds a new field qu_ll_next to the gfs2_quota structure. This field allows us to create linked lists of quotas in the ondisk quota inode. Instead of scanning through the entire sparse quota file for valid quotas, we can now simply walk through the user and group quota linked lists to perform the do_list operation. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 34eaae398e29dadeed95efd30f1eb694e5932b34 Author: Denis Cheng Date: Wed Aug 15 23:54:44 2007 +0800 [GFS2] fixed a NULL pointer assignment BUG Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 0fd5355470ea40355b8af76d01748ec7b9926d4d Author: Abhijith Das Date: Tue Aug 14 15:34:58 2007 -0500 [GFS2] Force unstuff of hidden quota inode This patch forcibly unstuffs (if stuffed) the hidden quota inode at the first availble opportunity. In any practical scenario the quota inode won't be stuffed, so this is ok to do. Unstuffing the quota inode allows us to ignore the case of a stuffed quota inode in gfs2_adjust_quota(). Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 5d35e31f43c4910d0b6afc5160728a84bbaf86f0 Author: Denis Cheng Date: Mon Aug 13 11:01:58 2007 +0800 [GFS2] better code for translating characters the original code could work, but I think this code could work better. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 2d3ba1ea97d839e60d742ccf9a6de5bf039c0b53 Author: Denis Cheng Date: Sat Aug 11 10:27:08 2007 +0800 [GFS2] unneeded typecast sb->s_fs_info is a void pointer, thus the type cast is not needed. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit adb4ec13cdddb6ab8280e4c7808ba30f46504e1d Author: Denis Cheng Date: Sat Aug 11 10:27:07 2007 +0800 [GFS2] use list_for_each_entry instead Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 75be73a8246ef96f7fa3f05a6a1450159fbb7a64 Author: Bob Peterson Date: Wed Aug 8 17:08:14 2007 -0500 [GFS2] Ensure journal file cache is flushed after recovery This is for bugzilla bug #248176: GFS2: invalid metadata block Patches 1 thru 3 were accepted upstream, but there were problems with 4 and 5. Those issues have been resolved and now the recovery tests are passing without errors. This code has gone through 41 * 3 successful gfs2 recovery tests before it hit an unrelated (openais) problem. I'm continuing to test it. This is a complete rewrite of patch 5 for bug #248176, written by Steve Whitehouse. This is referred to in the bugzilla record as "new 6" and "a different solution". The problem was that the journal inodes, although protected by a glock, were not synched with the other nodes because they don't use the inode glock synch operations (i.e. no "glops" were defined). Therefore, journal recovery on a journal-recovering node were causing the blocks to get out of sync with the node that was actually trying to use that journal as it comes back up from a reboot. There are two possible solutions: (1) To make the journals use the normal inode glock sync operations, or (2) To make the journal operations take effect immediately (i.e. no caching). Although option 1 works, it turns out to be a lot more code. Steve opted for option 2, which is much simpler and therefore less prone to regression errors. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse -- commit 5f3eae7546093d845ca8ada1b95714202a136a1a Author: Bob Peterson Date: Wed Aug 8 16:52:09 2007 -0500 [GFS2] invalid metadata block - REVISED This is for bugzilla bug #248176: GFS2: invalid metadata block Patches 1 thru 3 were accepted upstream, but there were problems with 4 and 5. Those issues have been resolved and now the recovery tests are passing without errors. This code has gone through 41 * 3 successful gfs2 recovery tests before it hit an unrelated (openais) problem. This is a complete rewrite of patch 4 for bug #248176. Part of the problem was that inodes were being recycled before their buffers were flushed to the journal logs. Another problem was that the clone bitmaps were being searched for deleted inodes to recycle, but only the "real" bitmaps should be searched for that purpose. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 8fbbfd214c853102b614f4705c1904ed14f5a808 Author: Steven Whitehouse Date: Wed Aug 1 13:57:10 2007 +0100 [GFS2] Reduce number of gfs2_scand processes to one We only need a single gfs2_scand process rather than the one per filesystem which we had previously. As a result the parameter determining the frequency of gfs2_scand runs becomes a module parameter rather than a mount parameter as it was before. Signed-off-by: Steven Whitehouse commit ca5a939b33166a9f5a2556e6c4ec031524852ba2 Author: Denis Cheng Date: Tue Jul 31 18:31:12 2007 +0800 [GFS2] use the declaration of gfs2_dops in the header file instead Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 4ef290025ccde7c52ba219cf733a4295acd5401f Author: Denis Cheng Date: Tue Jul 31 18:31:11 2007 +0800 [GFS2] mark struct *_operations const these struct *_operations are all method tables, thus should be const. Signed-off-by: Denis Cheng Signed-off-by: Steven Whitehouse commit 0f8468c8bef3d04637c924e7bef20ca53018b319 Author: Bob Peterson Date: Wed Jul 25 10:06:22 2007 -0500 [GFS2] Detach buf data during in-place writeback This is patch 5 of 5 for bug #248176 Metadata corruption was occurring because page references weren't being removed in all cases. I previously added a function called detach_bufdata, but I discovered there already WAS a function out there to do the job. It's called gfs2_meta_cache_flush. So I added a call to that to remove the page references. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit cee23c79d08c57bbbb9923703409af3b17518c58 Author: Denis Cheng Date: Wed Jul 25 17:53:58 2007 +0800 [GFS2] use an temp variable to reduce a spin_unlock this is more clear. Signed-off-by: Denis Cheng Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 6760bdcd03a12d7d082794311ccbaf44bfc23b06 Author: Bob Peterson Date: Tue Jul 24 14:09:32 2007 -0500 [GFS2] Prevent infinite loop in try_rgrp_unlink() This is patch three of five for bug #248176. The try_rgrp_unlink code in rgrp.c had an infinite loop. This was caused because the bitmap function rgblk_search can return a block less than the "goal" block, in which case it was looping. The fix is to make it always march forward as needed. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 693ddeabbb3e563f192a7ac74ec04168aa92e8d8 Author: Bob Peterson Date: Tue Jul 24 14:07:33 2007 -0500 [GFS2] Revert part of earlier log.c changes This is patch 2 of 5 for bug #248176. The list_move code previously concocted in log.c for bug #238162 (see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=238162#c23) never runs as bh can now never be NULL at this point. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 905d2aefa9e06ebb995df96920d273a516fcd3f9 Author: Bob Peterson Date: Tue Jul 24 14:05:31 2007 -0500 [GFS2] Move some code inside the log lock This is the first of five patches for bug #248176: There were still some critical variables being manipulated outside the log_lock spinlock. That usually resulted in a hang. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 7b08fc620109c2f66575e9ae884f45c37933ea18 Author: Steven Whitehouse Date: Tue Jul 24 13:53:36 2007 +0100 [GFS2] Fix an oops in glock dumping This fixes an oops which was occurring during glock dumping due to the seq file code not taking a reference to the glock. Also this fixes a memory leak which occurred in certain cases, in turn preventing the filesystem from unmounting. Signed-off-by: Steven Whitehouse commit afd0942d98f74296b74993739e41d2ca7cb9fd5a Author: Steve French Date: Fri Jul 20 13:07:26 2007 -0500 [GFS2] GFS2 not checking pointer on create when running under nfsd When looking at an unrelated problem, I noticed that nfsd does not set nameidata pointer on create (ie nd is NULL). This should cause an oops in some cases in which when NFSd is mounted over GFS2. Signed-off-by: Steve French Signed-off-by: Steven Whitehouse commit aa0481e58a9a97a97035725a712920b5fe32f348 Author: Jesper Juhl Date: Sat Jul 21 17:03:22 2007 +0200 [GFS2] Clean up duplicate includes in fs/gfs2/ This patch cleans up duplicate includes in fs/gfs2/ Signed-off-by: Jesper Juhl Signed-off-by: Steven Whitehouse commit 26caee5bc643b318fa2e9bd4f66dace1755ec413 Author: Josef Whiter Date: Mon Jul 23 10:02:40 2007 +0100 [GFS2] Fix calculation of demote state If a glock is in the exclusive state and a request for demote to deferred has been received, then further requests for demote to shared are being ignored. This patch fixes that by ensuring that we demote to unlocked in that case. Signed-off-by: Josef Whiter Signed-off-by: Steven Whitehouse commit 87124e581bfeaa5864662a435b6ee2a19e91b905 Author: Steven Whitehouse Date: Mon Jul 23 09:54:36 2007 +0100 [GFS2] Fix two races relating to glock callbacks One of the races relates to referencing a variable while not holding its protecting spinlock. The patch simply moves the test inside the spin lock. The other races occurs when a demote to unlocked request occurs during the time a demote to shared request is already running. This of course only happens in the case that the lock was in the exclusive mode to start with. The patch adds a check to see if another demote request has occurred in the mean time and if it has, then it performs a second demote. Signed-off-by: Steven Whitehouse commit 1ca91cd0336b05b91c51b403c9ed9d297813533f Author: Arnd Bergmann Date: Tue Oct 9 13:23:57 2007 +0200 compat_ioctl: move floppy handlers to block/compat_ioctl.c The floppy ioctls are used by multiple drivers, so they should be handled in a shared location. Also, add minor cleanups. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit b3087cc4f31a66c8c7b63419e913ed9d34145f10 Author: Arnd Bergmann Date: Tue Oct 9 13:23:56 2007 +0200 compat_ioctl: move cdrom handlers to block/compat_ioctl.c These are shared by all cd-rom drivers and should have common handlers. Do slight cosmetic cleanups in the process. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit 18cf7f8723d913ce02bea43e468bebdd07bc880c Author: Arnd Bergmann Date: Tue Oct 9 13:23:56 2007 +0200 compat_ioctl: move BLKPG handling to block/compat_ioctl.c BLKPG is common to all block devices, so it should be handled by common code. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit 9617db085c119879cd371e3212806a15596e121a Author: Arnd Bergmann Date: Tue Oct 9 13:23:55 2007 +0200 compat_ioctl: move hdio calls to block/compat_ioctl.c These are common to multiple block drivers, so they should be handled by the block layer. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit 171044d449611c6e5040b37210ff6aba47f33ee4 Author: Arnd Bergmann Date: Tue Oct 9 13:23:53 2007 +0200 compat_ioctl: handle blk_trace ioctls blk_trace_setup is broken on x86_64 compat systems, this makes the code work correctly on all 64 bit architectures in compat mode. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit 7199d4cdd8485f802df3e1bc131245c69009b9a4 Author: Arnd Bergmann Date: Tue Oct 9 13:23:52 2007 +0200 compat_ioctl: add compat_blkdev_driver_ioctl() Handle those blockdev ioctl calls that are compatible directly from the compat_blkdev_ioctl() function, instead of having to go through the compat_ioctl hash lookup. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit f58c4c0a17e500e767473598b3deafaa1d64051d Author: Arnd Bergmann Date: Tue Oct 9 13:23:51 2007 +0200 compat_ioctl: move common block ioctls to compat_blkdev_ioctl Make compat_blkdev_ioctl and blkdev_ioctl reflect the respective native versions. This is somewhat more efficient and makes it easier to keep the two in sync. Also get rid of the bogus handling for broken_blkgetsize and the duplicate entry for BLKRASET. Signed-off-by: Arnd Bergmann Signed-off-by: Jens Axboe commit d2bbf3da3759d04cd5836955cc59c8ae96092831 Author: Grant Likely Date: Thu Oct 4 08:52:40 2007 +0200 Sysace: Don't enable IRQ until after interrupt handler is registered The previous patch to move the interrupt handler registration moved it below enabling interrupts which could be a problem if the device is on a shared interrupt line. This patch fixes the order. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit b5515d86f2efd4dd3516c16c17c1a611a5800b19 Author: Grant Likely Date: Thu Oct 4 08:52:39 2007 +0200 Sysace: sparse fixes Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 34e1b83413d91999416443f31c276095f9937aa6 Author: Grant Likely Date: Thu Oct 4 08:52:38 2007 +0200 Sysace: Minor coding convention fixup Put function call and return code test on separate lines. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit cb3503ca54dc34e8dc3b823a6bd52c0807c102f4 Author: Jeff Garzik Date: Thu Sep 27 07:49:39 2007 -0400 drivers/block/umem: use DRIVER_NAME where appropriate Signed-off-by: Jeff Garzik commit 4e953a216265f8646360fa909bdc87ea4bf446b3 Author: Jeff Garzik Date: Thu Sep 27 07:41:50 2007 -0400 drivers/block/umem: trim trailing whitespace Signed-off-by: Jeff Garzik commit ee4a7b6874469244ed0e3b8fde20028e0bb52642 Author: Jeff Garzik Date: Thu Sep 27 07:40:33 2007 -0400 drivers/block/umem: minor cleanups * tab-align DRIVER_*, pci_driver entries * reduced wasted memory by killing unused struct cardinfo members * move free_irq() call above resource unmap, to fix tiny window where irq handler may access recently-unmapped memory * propagate pci_enable_device() return value * use pci_request_regions, pci_release_regions() for resource reservation * call pci_disable_device() in pci_driver::remove() Signed-off-by: Jeff Garzik commit 4e0af881afee2b399854b1cdfdbe37e6ab6a09ca Author: Jeff Garzik Date: Thu Sep 27 06:41:25 2007 -0400 drivers/block/umem: use dev_printk() dev_printk() gives us a consistent prefix (driver name + PCI bus id), which allows us to eliminate the hand-rolled one. Also allows us to eliminate card->card_number, which was used solely in printk() calls. Signed-off-by: Jeff Garzik commit 3084f0c6105a71e43225c36b4d97c1407988a242 Author: Jeff Garzik Date: Thu Sep 27 06:25:06 2007 -0400 drivers/block/umem: move private include away from include/linux Move include/linux/umem.h to drivers/block, as umem.c is the only user, and its not an exported header. Move the PCI_{VENDOR,DEVICE}_ID_* constants to include/linux/pci_ids.h. Signed-off-by: Jeff Garzik commit ed155a95a4eb7d8dae61b64ab394314c5195e414 Author: Grant Likely Date: Mon Oct 1 16:33:56 2007 +0200 Sysace: Labels in C code should not be indented. Remove the indentation on labels Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 95e896c35f3c3157159b89682b60281640b5d148 Author: Grant Likely Date: Mon Oct 1 16:33:55 2007 +0200 Sysace: Add of_platform_bus binding The of_platform bus binding is needed to make the device driver usable under arch/powerpc. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 32f6fff47df65d25d3dedbd2953508c05225b726 Author: Grant Likely Date: Mon Oct 1 16:33:54 2007 +0200 Sysace: Move IRQ handler registration to occur after FSM is initialized The FSM needs to be initialized before it is safe to call the ISR Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 4a24d8610df542b6599a65b100d438df144574de Author: Grant Likely Date: Mon Oct 1 16:33:54 2007 +0200 Sysace: minor rework and cleanup changes Miscellanious rework to the sysace driver; Not critical, but makes the subsequent addition of the of_platform bus binding a wee bit cleaner Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 1b455466549f46bab0a75a7a296a9331a38fd6fa Author: Grant Likely Date: Mon Oct 1 16:33:53 2007 +0200 Sysace: Move structure allocation from bus binding into common code Split the determination of device registers/irqs/etc from the actual allocation and initialization of the device structure. This cleans up the code a bit in preparation to add an of_platform bus binding Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit edec49616c7b4ad7ceb3b936a8d95b10652ee677 Author: Grant Likely Date: Mon Oct 1 16:33:52 2007 +0200 Sysace: Use the established platform bus api SystemACE uses the platform bus binding, but it doesn't use the platform bus API. Move to using the correct API for consistency sake and future proofing against platform bus changes. Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit c9d3d8ecf672c513435691a886876aee5ab11001 Author: Grant Likely Date: Mon Oct 1 16:33:51 2007 +0200 Add Xilinx SystemACE entry to maintainers I'm the author of the SystemACE driver Signed-off-by: Grant Likely Signed-off-by: Jens Axboe commit 6712ecf8f648118c3363c142196418f89a510b90 Author: NeilBrown Date: Thu Sep 27 12:47:43 2007 +0200 Drop 'size' argument from bio_endio and bi_end_io As bi_end_io is only called once when the reqeust is complete, the 'size' argument is now redundant. Remove it. Now there is no need for bio_endio to subtract the size completed from bi_size. So don't do that either. While we are at it, change bi_end_io to return void. Signed-off-by: Neil Brown Signed-off-by: Jens Axboe commit 5bb23a688b2de23d7765a1dd439d89c038378978 Author: NeilBrown Date: Thu Sep 27 12:46:13 2007 +0200 Don't decrement bi_size in bio_endio The only caller of bio_endio that does not pass the full bi_size is end_that_request_first. Also, no ->bi_end_io method is really interested in bi_size being decremented. So move the decrement and related code into ll_rw_blk and merge it with order_bio_endio to form req_bio_endio which does endio functionality specific to request completion. As some ->bi_end_io methods do check bi_size of 0, we set it thus for now, but that will go in the next patch. Signed-off-by: Neil Brown ### Diffstat output ./block/ll_rw_blk.c | 42 +++++++++++++++++++++++++++--------------- ./fs/bio.c | 23 +++++++++++------------ 2 files changed, 38 insertions(+), 27 deletions(-) diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit 9cc54d40b8ca01fcefc9151044b6996565061d90 Author: NeilBrown Date: Thu Sep 27 12:46:12 2007 +0200 Only call bi_end_io once for any bio Currently bi_end_io can be called multiple times as sub-requests complete. However no ->bi_end_io function wants to know about that. So only call when the bio is complete. Signed-off-by: Neil Brown ### Diffstat output ./fs/bio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff .prev/fs/bio.c ./fs/bio.c Signed-off-by: Jens Axboe commit d24517d793f21edab1a411da95f2c45cb88a84aa Author: NeilBrown Date: Thu Sep 27 12:46:11 2007 +0200 Remove flush_dry_bio_endio The entire function of flush_dry_bio_endio is to undo the effects of bio_endio (when called on a barrier request). So remove the function and the call to bio_endio. This allows us to remove "bi_size" from "struct request_queue". Signed-off-by: Neil Brown ### Diffstat output ./block/ll_rw_blk.c | 39 ++------------------------------------- ./include/linux/blkdev.h | 1 - 2 files changed, 2 insertions(+), 38 deletions(-) diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit f5ff8422bbdd59f8c1f699df248e1b7a11073027 Author: Jens Axboe Date: Fri Sep 21 09:19:54 2007 +0200 Fix warnings with !CONFIG_BLOCK Hide everything in blkdev.h with CONFIG_BLOCK isn't set, and fixup the (few) files that fail to build because they were relying on blkdev.h pulling in extra includes for them. Signed-off-by: Jens Axboe commit 3317fedba9446465082bcc6ce1232451ad1d51ce Author: Dhaval Giani Date: Thu Aug 23 10:43:07 2007 +0200 Corrections in Documentation/block/ioprio.txt The newer glibc does not allow system calls to be made via _syscallN() wrapper. They have to be made through syscall(). The ionice code used the older interface. Correcting it to use syscall. Signed-off-by: Dhaval Giani Signed-off-by: Jens Axboe commit db47d475371bc85dd122112e957669cbbcc70dee Author: Satyam Sharma Date: Thu Aug 23 09:29:40 2007 +0200 ll_rw_blk: blk_cpu_notifier should be __cpuinitdata blk_cpu_notifier is marked as __devinitdata, but __devinitdata need not be __init even if HOTPLUG_CPU=n, which wastes space. It should be marked __cpuinitdata, and the callback itself as __cpuinit. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 6c92e699b56287da582ccb12a64b959b6d6109ba Author: Jens Axboe Date: Thu Aug 16 13:43:12 2007 +0200 Fixup rq_for_each_segment() indentation Remove one level of nesting where appropriate. Signed-off-by: Jens Axboe commit bc1c56fde6dd1c85e2047c276456c07bd4508b5c Author: NeilBrown Date: Thu Aug 16 13:31:30 2007 +0200 Share code between init_request_from_bio and blk_rq_bio_prep These have very similar functions and should share code where possible. Signed-off-by: Neil Brown diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit 66846572bfb4ec62bcba260028cbbcbdb77bd636 Author: NeilBrown Date: Thu Aug 16 13:31:28 2007 +0200 Stop exporting blk_rq_bio_prep blk_rq_bio_prep is exported for use in exactly one place. That place can benefit from using the new blk_rq_append_bio instead. So - change dm-emc to call blk_rq_append_bio - stop exporting blk_rq_bio_prep, and - initialise rq_disk in blk_rq_bio_prep, as dm-emc needs it. Signed-off-by: Neil Brown diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit 3001ca77128273cc5634d79f5306ce2e5a14ec41 Author: NeilBrown Date: Thu Aug 16 13:31:27 2007 +0200 New function blk_req_append_bio ll_back_merge_fn is currently exported to SCSI where is it used, together with blk_rq_bio_prep, in exactly the same way these functions are used in __blk_rq_map_user. So move the common code into a new function (blk_rq_append_bio), and don't export ll_back_merge_fn any longer. Signed-off-by: Neil Brown diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit eea9befaccb8d43ce89585d612159761c978f056 Author: NeilBrown Date: Thu Aug 16 13:31:26 2007 +0200 Fix various abuse of bio fields in umem.c umem.c: advances bi_idx and bi_sector to track where it is up to. But it is only ever doing this on one bio, so the updated fields can easily be kept elsewhere (current_*). updates bi_size, but never uses the updated values, so this isn't needed. reuses bi_phys_segments to count how many iovecs have been completely. As the completion happens sequentiually, we can store this information outside the bio too. Signed-off-by: Neil Brown diff .prev/drivers/block/umem.c ./drivers/block/umem.c Signed-off-by: Jens Axboe commit 5705f7021748a69d84d6567e68e8851dab551464 Author: NeilBrown Date: Tue Sep 25 12:35:59 2007 +0200 Introduce rq_for_each_segment replacing rq_for_each_bio Every usage of rq_for_each_bio wraps a usage of bio_for_each_segment, so these can be combined into rq_for_each_segment. We define "struct req_iterator" to hold the 'bio' and 'index' that are needed for the double iteration. Signed-off-by: Neil Brown Various compile fixes by me... Signed-off-by: Jens Axboe commit 9dfa52831e96194b8649613e3131baa2c109f7dc Author: NeilBrown Date: Thu Aug 16 13:27:52 2007 +0200 Merge blk_recount_segments into blk_recalc_rq_segments blk_recalc_rq_segments calls blk_recount_segments on each bio, then does some extra calculations to handle segments that overlap two bios. If we merge the code from blk_recount_segments into blk_recalc_rq_segments, we can process the whole request one bio_vec at a time, and not need the messy cross-bio calculations. Then blk_recount_segments can be implemented by calling blk_recalc_rq_segments, passing it a simple on-stack request which stores just the bio. Signed-off-by: Neil Brown diff .prev/block/ll_rw_blk.c ./block/ll_rw_blk.c Signed-off-by: Jens Axboe commit 3ac8c70f74ca67111c570f4ba828cc4b6fc229f4 Author: Dave Olson Date: Wed Oct 3 12:47:00 2007 -0700 IB/ipath: Minor fix to ordering of freeing and zeroing of tid pages. Fixed to be the same as everywhere else. copy and then zero the page * in the array first, and then pass the copy to the VM routines. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit bda94e32b39c0e60d43b34a175363601b6f12ca4 Author: Ralph Campbell Date: Fri Oct 5 16:03:21 2007 -0700 IB/ipath: Remove redundant link state checks This patch removes some redundant checks when the SMA changes the link state since the same checks are made in the lower level function that sets the state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 49739b3e24a10d819d3167a1c5b319d0b1186245 Author: Ralph Campbell Date: Wed Sep 19 16:47:31 2007 -0700 IB/ipath: Fix IB_EVENT_PORT_ERR event The link state event calls were being generated when the SM told the SMA to change link states. This works for IB_EVENT_PORT_ACTIVE but not if the link goes down and stays down. The fix is to generate event calls from the interrupt handler when the HW link state changes. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6a733cdc71b7aa8107caa57f2a16629aa731242a Author: Michael Albaugh Date: Wed Oct 3 10:47:38 2007 -0700 IB/ipath: Better handling of unexpected GPIO interrupts The General Purpose I/O pins can be configured to cause interrupts. At the end of the interrupt code dealing with all known causes, a message is output if any bits remain un-handled. Since this is a "can't happen" scenario, it should only be triggered by bugs elsewhere. It is harmless, and potentially beneficial, to limit the damage by masking any such unexpected interrupts. This patch adds disabling of interrupts from any pins that should not have been allowed to interrupt, in addition to emitting a message. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 192594d5230f447ef2df8de9d7902ac90d11c118 Author: Michael Albaugh Date: Tue Oct 2 13:26:45 2007 -0700 IB/ipath: Maintain active time on all chips There is a count of "active hours" maintained in EEPROM, to aid troubleshooting. The definition of "active" is based on traffic exceeding a threshold in any given 5-second polling interval. As originally written, the check was inadvertently bypassed for chips whose counters were 64-bits wide, and only applied to chips with 32-bit wide counters. This patch moves the test for amount of traffic "out" to a more common location, rather than depending on a side-effect of the software emulation of 64-bit counts on chips whose hardware is only 32-bits wide. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit aa7c79abd154ed9aba4c19b861d439ef6af35d3a Author: Dave Olson Date: Thu Aug 16 18:10:43 2007 -0700 IB/ipath: Fix QHT7040 serial number check Remove all the OEM and bringup boards, and complain and fail initialization if one is found. QHT7040 with GPIO rework (128ywwuuuu) is OK, older 112ywwuuuu is no longer supported). The check that had been added was failing both the 112 and 128 series. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 20bed343142bfaf08765e35aaefa56dc5cc287db Author: Arthur Jones Date: Tue Sep 18 14:44:45 2007 -0700 IB/ipath: Indicate a couple of chip bugs to userspace A couple of chip bugs in the iba6110 and in the iba6120 are not in more recent chips. This first bug swaps two of the pioavail register locations. In the second bug, the chip can sometimes forget to dma the pio avail register to memory. We indicate the presence of these bugs with runtime flags and we indicate the presence of the flags by bumping the SWMINOR. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 4bec0b9155d6757847b754e21b55ecafcecef839 Author: Arthur Jones Date: Tue Sep 18 14:24:23 2007 -0700 IB/ipath: iba6110 rev4 no longer needs recv header overrun workaround iba6110 rev3 and earlier had a chip bug where the chip could overrun the recv header queue. rev4 fixed this chip bug so userspace no longer needs to workaround it. Now we only set the workaround flag for older chip versions. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 70c51da2c4f84317bb13a2b564600afdcebd686f Author: Arthur Jones Date: Fri Sep 14 12:22:49 2007 -0700 IB/ipath: Use counters in ipath_poll and cleanup interrupts in ipath_close ipath_poll() suffered from a couple subtle bugs. Under the right conditions we could leave recv interrupts enabled on an ipath user context on close, thereby taking potentially unwanted interrupts on the next open -- this is fixed by unconditionally turning off recv interrupts on close. Also, we now use counters rather than set/clear bits which allows us to make sure we catch all interrupts at the cost of changing the semantics slightly (it's now give me all events since the last time I called poll() rather than give me all events since I called _this_ poll routine). We also added some memory barriers which may help ensure we get all notifications in a timely manner. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 542869a17eee2edf389273f40f757aa4e662b3da Author: Ralph Campbell Date: Thu Sep 13 11:42:52 2007 -0700 IB/ipath: Remove duplicate copy of LMC The LMC value was being saved by the SMA in two places. This patch cleans it up so only one copy is kept. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 15cba26f42c13ca30cbb4388f132ac0ddf4df538 Author: Ralph Campbell Date: Wed Sep 12 15:00:58 2007 -0700 IB/ipath: Add ability to set the LMC via the sysfs debugging interface This patch adds the ability to set the LMC via a sysfs file as if the SM sent a SubnSet(PortInfo) MAD. It is useful for debugging when no SM is running. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6cff2faaf135b602c914710f3414630c3fc1ee83 Author: Ralph Campbell Date: Fri Sep 7 16:54:01 2007 -0700 IB/ipath: Optimize completion queue entry insertion and polling The code to add an entry to the completion queue stored the QPN which is needed for the user level verbs view of the completion queue entry but the kernel struct ib_wc contains a pointer to the QP instead of a QPN. When the kernel polled for a completion queue entry, the QPN was lookup up and the QP pointer recovered. This patch stores the CQE differently based on whether the CQ is a kernel CQ or a user CQ thus avoiding the QPN to QP lookup overhead. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit d42b01b584b6f55f70c56f6a3dabc26f4982d30d Author: Ralph Campbell Date: Sat Aug 25 16:45:03 2007 -0700 IB/ipath: Implement IB_EVENT_QP_LAST_WQE_REACHED This patch implements the IB_EVENT_QP_LAST_WQE_REACHED event which is needed by ib_ipoib to destroy the QP when used in connected mode. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c9cf7db2bca9180f5888eebc23dc607666a9685b Author: Ralph Campbell Date: Sat Aug 25 16:48:29 2007 -0700 IB/ipath: Generate flush CQE when QP is in error state Follow the IB spec. (C10-96) for post send which states that a flushed completion event should be generated for work requests posted when a QP is in the error state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 036be09ca55ee8512c05742f4f6b88911d012a90 Author: Ralph Campbell Date: Mon Aug 20 16:52:35 2007 -0700 IB/ipath: Remove redundant code This patch removes some redundant initialization code. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit d29cc6efb9731a415957b8d0ff16e31729ed6837 Author: Dave Olson Date: Fri Aug 17 14:42:14 2007 -0700 IB/ipath: Future proof eeprom checksum code (contents reading) In an earlier change, the amount of data read from the flash was mistakenly limited to the size known to the current driver. This causes problems when the length is increased, and written with the new longer version; the checksum would fail because not enough data was read. Always read the full 128 byte length to prevent this. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 55046698faf6357ff7c53593dbfd43a9a3f681a7 Author: Ralph Campbell Date: Fri Aug 17 11:28:48 2007 -0700 IB/ipath: UC RDMA WRITE with IMMEDIATE doesn't send the immediate This patch fixes a bug in the receive processing for UC RDMA WRITE with immediate which caused the last packet to be dropped. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9ef8617af77136e743e5dd4b081a61797888a977 Author: Dave Olson Date: Thu Aug 9 15:18:48 2007 -0700 IB/ipath: Correctly describe workaround for TID write chip bug This is a comment change, only, correcting the comment to match the implemented workaround, rather than the original workaround, and clarifying why it's needed. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1793b4771d258c93ed86a6356c95cac418781fdd Author: Ralph Campbell Date: Tue Aug 7 18:09:34 2007 -0700 IB/ipath: Remove unneeded code for ipathfs The ipathfs file system is used to export binary data verses ASCII data such as through /sys. This patch removes some unneeded files since the data is available through other /sys files. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9bec3992312b8bb3aee71bd3b57d106a0a649479 Author: Dave Olson Date: Fri Jun 1 13:01:47 2007 -0700 IB/ipath: Verify host bus bandwidth to chip will not limit performance There have been a number of issues where host bandwidth via HT or PCIe to the InfiniPath chip has been limited in some fashion (BIOS, configuration, etc.), resulting in user confusion. This check gives a clear warning that something is wrong and needs to be resolved. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 4ee97180ac76deb5a715ac45b7d7516e6ee82ae7 Author: Ralph Campbell Date: Wed Jul 25 11:08:28 2007 -0700 IB/ipath: Change UD to queue work requests like RC & UC The code to post UD sends tried to process work requests at the time ib_post_send() is called without using a WQE queue. This was fine as long as HW resources were available for sending a packet. This patch changes UD to be handled more like RC and UC and shares more code. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 210d6ca3db058cd1d6e6fd235ee3e25d6ac221cd Author: Ralph Campbell Date: Tue Jul 24 13:55:39 2007 -0700 IB/ipath: Performance optimization for CPU differences Different processors have different ordering restrictions for write combining. By taking advantage of this, we can eliminate some write barriers when writing to the send buffers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit c3e2a8e64cb2282a406ff6e63f7bd09eb6f61a1d Author: Jiri Slaby Date: Tue Oct 9 22:15:27 2007 -0300 V4L/DVB (6308): V4L: zc0301, remove bad usage of ERESTARTSYS zc0301, remove bad usage of ERESTARTSYS down_read_trylock can't be interrupted and so ERESTARTSYS would reach userspace, which is not permitted. Change it to EAGAIN Signed-off-by: Jiri Slaby Acked-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 3abff557d5eed7d6fd03aa11353a1c0f329cac2b Author: Jiri Slaby Date: Tue Oct 9 22:03:12 2007 -0300 V4L/DVB (6307): V4L: w9968cf, remove bad usage of ERESTARTSYS w9968cf, remove bad usage of ERESTARTSYS down_read_trylock can't be interrupted and so ERESTARTSYS would reach userspace, which is not permitted. Change it to EAGAIN Signed-off-by: Jiri Slaby Acked-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit acd827d63a568a2cfa26ae8e6093b098c91c631b Author: Maxim Levitsky Date: Mon Oct 8 12:07:35 2007 -0300 V4L/DVB (6306): Few clenups for saa7134 resume code *Disable DMA explictly on suspend *Enable DMA on resume, after all buffers were configured *Disable overlay on resume - apps should enable it when X is resumed Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 49ee718ef51f4d938f80f67207e1bfa2a38897a4 Author: Brandon Philips Date: Fri Oct 5 16:26:27 2007 -0300 V4L/DVB (6305): V4L: videobuf-core.c avoid NULL dereferences in videobuf-core The return value of videobuf_alloc() is unchecked but this function will return NULL on an error. Check for NULL and make videobuf_reqbufs() return the number of successfully allocated buffers. Also, fix saa7146_video.c and bttv-driver.c to use this returned buffer count. Tested against the vivi driver. Not tested against saa7146 or bt8xx devices. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit c726b65d079cafabc558616badbeead442e2b114 Author: Trent Piepho Date: Mon Oct 8 19:05:28 2007 -0300 V4L/DVB (6301): pvrusb: Update DEBUGIFC sysfs to kernel 2.6.13+ The prototypes for the show and store methods of a device_attribute changed in kernel 2.6.13, but the code in pvrusb2 was never updated. I guess the DEBUGIFC stuff isn't used much.... Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit bde00cc027879a39f249ffedb048032cb7e484e4 Author: Trent Piepho Date: Mon Oct 8 18:36:21 2007 -0300 V4L/DVB (6300): CodingStyle cleanup Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 102abd826a20307c5a0d23f49b8a3b5d98bddf94 Author: Trent Piepho Date: Mon Oct 8 18:34:11 2007 -0300 V4L/DVB (6299): dvb: Add dependencies for VIDEOBUF_DVB It needs to select VIDEOBUF_GEN and VIDEOBUF_DMA_SG, since it uses those modules. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 21a7ad4a7e86a5da16caf61eb50bc92af4929672 Author: Michael Krufky Date: Mon Oct 8 17:18:17 2007 -0300 V4L/DVB (6297): cx23885: remove wrong Kconfig selection of VIDEOBUF fix bad Kconfig dependency of cx23885 module. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fa3b877e5c75a2f4d1706c40163dbf176a2fd80d Author: Joachim Steiger Date: Mon Oct 8 20:08:46 2007 -0300 V4L/DVB (6296): dib0700: add support for AverMedia DVB-T Express card add Avermedia dvb-t express card 34 (usb2) id Signed-off-by: Joachim Steiger Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0ac3a5bbca33840542d98420d9d82e8738299b20 Author: Eric Sandeen Date: Mon Oct 8 16:13:02 2007 -0300 V4L/DVB (6295): saa7134: add autodetection for KWorld ATSC-115 Recognize the KWorld ATSC115 PCI ID as a hardware clone of the ATSC110. Signed-off-by: Eric Sandeen Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 54bd5b66c87d14e250f108aad1228b905d6882f6 Author: Kay Sievers Date: Mon Oct 8 16:26:13 2007 -0300 V4L/DVB (6293): V4L: convert struct class_device to struct device The currently used "struct class_device" will be removed from the kernel. Here is a patch that converts all users in drivers/media/video/ to struct device. Reviewed-by: Thierry Merle Reviewed-by: Mike Isely Reviewed-by: Luca Risolia Signed-off-by: Kay Sievers Signed-off-by: Mauro Carvalho Chehab commit d4cae5a50021271b9ef4e5e39e71e177d12fa8cb Author: Mauro Carvalho Chehab Date: Mon Oct 8 12:20:02 2007 -0300 V4L/DVB (6292): videobuf_core init always require callback implementation In the past, videobuf_queue_init were used to initialize PCI DMA videobuffers. This patch renames it, to avoid confusion with the previous kernel API, doing: s/videobuf_queue_init/void videobuf_queue_core_init/ Also, the operations is now part of the function parameter. The function will also add a test if this is defined, otherwise producing BUG. Signed-off-by: Mauro Carvalho Chehab commit d5f1b01644b6fd5e9eb480a4762cd6b569cb1246 Author: Mauro Carvalho Chehab Date: Mon Oct 8 11:48:57 2007 -0300 V4L/DVB (6291): Fix: avoid oops on some SMP machines This workaround fix a bug that happens on some SMP machines. On those machines, videobuf_iolock is called too soon, before file .mmap handler. This patch calls the scheduler before iolocking, allowing it to properly call the pending mmap. Signed-off-by: Mauro Carvalho Chehab commit 5ddff43435394c1c2540fcdeed00cb54862c31bf Author: Mauro Carvalho Chehab Date: Mon Oct 8 11:43:49 2007 -0300 V4L/DVB (6290): remove videobuf_set_pci_ops Before the videobuf redesign, a procedure for re-using videobuf without PCI scatter/gather where provided by changing the pci-dependent operations by other operations. With the newer approach, those methods are obsolete and can safelly be removed. Signed-off-by: Mauro Carvalho Chehab commit 7568e3ce6710cb2c1bc1564a273e9f222efbc95e Author: Robert P. J. Day Date: Mon Oct 8 09:20:49 2007 -0300 V4L/DVB (6289): Remove reference to dead CONFIG_UST and ust.h header Signed-off-by: Robert P. J. Day Signed-off-by: Mauro Carvalho Chehab commit aecfde539eeac11f269894413abf3b60cf74844f Author: Mauro Carvalho Chehab Date: Mon Oct 8 09:04:09 2007 -0300 V4L/DVB (6287): Fix DMA Scatter/Gather constructor cx23885 driver were converted to use the newer videobuf support. Unfortunately, the constructor weren't changed. This causes an oops, since the abstract methods (implemented as callbacks) aren't defined. Signed-off-by: Mauro Carvalho Chehab Reviewed-by: Michael Krufky commit 593f18c6e4d04134f240fbad001d878802d8925f Author: Mauro Carvalho Chehab Date: Sun Oct 7 02:17:09 2007 -0300 V4L/DVB (6286): Add support for MSI TV @nywhere A/D NB This is a Lifeview hybrid OEM board. Signed-off-by: Mauro Carvalho Chehab commit 925343ecdfd3f1dafd1049ddd4944621bbe3422e Author: Jesper Juhl Date: Thu Aug 23 21:22:15 2007 -0300 V4L/DVB (6285): Remove pointless kmalloc() return value cast in Zoran PCI controller driver No need to cast the void pointer returned by kmalloc() in drivers/media/video/zoran_driver.c::v4l_fbuffer_alloc(). Signed-off-by: Jesper Juhl Signed-off-by: Mauro Carvalho Chehab commit 409d84f85a8d523ecd108cbe2c0e722682da95ff Author: Trent Piepho Date: Thu Oct 4 05:28:45 2007 -0300 V4L/DVB (6284): cx23885: Update to new videobuf code cx23885 was still uses the old video-buf includes and code, which would only `work' if one happened to be compiling against a kernel that had the old headers. Even then, it wouldn't actually work, it would just compile without errors. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5a3ebe8755e88cd765f75121665c0d38004f8f37 Author: Trent Piepho Date: Thu Oct 4 04:54:11 2007 -0300 V4L/DVB (6283): videobuf: Remove references to old Kconfig option name CONFIG_VIDEO_BUF_DVB became CONFIG_VIDEOBUF_DVB. But in these cases, it makes more sense to use CONFIG_VIDEO_SAA7134_DVB or CONFIG_VIDEO_CX88_DVB_MODULE depending on the driver. The reference in cx23885.h should just be removed, as the code there needs to be included if DVB is on or off. I do not think you can even compile the cx23885 driver without DVB. It's clearly just leftover from when the file was obvious copied from the cx88 driver (which is not mentioned in the copyright BTW). Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 9320874a3e6aea7044a4a7eedeab13db990424ab Author: Christoph Hellwig Date: Wed Oct 3 11:23:01 2007 -0300 V4L/DVB (6279): en_50221: convert to kthread API Here's an attempted update to the full kthread API + wake_up_process: Signed-off-by: Andrew Morton CC: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit d00cd2985e0e796621adf0f782af1563d990b0b5 Author: Maxim Levitsky Date: Tue Oct 2 09:03:39 2007 -0300 V4L/DVB (6278): Buf: fix typo that caused data loss when readng streams from device If videobuf_read_stream reads two or more buffers it was overwriting the first one Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 14f37aee299bf9a897516f5e33948ee1f014eae1 Author: Mauro Carvalho Chehab Date: Thu Sep 27 21:00:50 2007 -0300 V4L/DVB (6277): vivi cleanup: remove the unused vars Vivi driver is now simpler. This patch removes the now unused vars. Signed-off-by: Mauro Carvalho Chehab commit 00f98d0804c88c29bef81cb98c861f13c9b33f30 Author: Brandon Philips Date: Thu Sep 27 20:55:28 2007 -0300 V4L/DVB (6276): V4L: videobuf-core.c lock before streaming check The reading/streaming fields are used for mutual exclusion of the queue and should be protected by the queue lock. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit ba32bd95d431525ad2ffac97cadf9ee40b63939e Author: Brandon Philips Date: Thu Sep 27 20:55:17 2007 -0300 V4L/DVB (6275): V4L: vivi.c remove the "resource" locking The "resource" locking in vivi isn't needed since streamon/streamoff/read_stream do mutual exclusion using q->reading/q->streaming. Plus it is sort of broken: a) res_locked() use in vivi_read() is racey. b) res_free() calls mutex_lock twice causing streamoff to break Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 85c7c70bc241d506dffc1879158f77f8aac69734 Author: Brandon Philips Date: Thu Sep 27 20:55:02 2007 -0300 V4L/DVB (6274): V4L: vivi.c replace logic in vivi_poll with videobuf_poll_stream Since vivi is using videobuf_read_stream() it can use videobuf_poll_stream() now. Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit a326ae1126fddd07728e854322e0c657c6b1fbda Author: Brandon Philips Date: Thu Sep 27 20:54:52 2007 -0300 V4L/DVB (6273): V4L: vivi.c vidioc_try_fmt_cap() negotiate a valid field If the client provides V4L2_FIELD_ANY vivi should return a valid field :) Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 11f7078c10944437b6cf335cea50ed7da675a8b1 Author: Maxim Levitsky Date: Thu Sep 27 20:44:39 2007 -0300 V4L/DVB (6272): V4L: properly fix support for capturing interlaced video in saa7134 By "capturing interlaced video" I mean that card ensures that top field is really top and vice versa (I think it takes the filed ID from signal) Properly turn on/off that support depending on signal state Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit cb71201f20e43581857043a1f856fb61ce44bdf8 Author: Maxim Levitsky Date: Thu Sep 27 20:34:25 2007 -0300 V4L/DVB (6271): V4L: Add basic support for suspend/resume for saa7134 This adds support for suspend/resume for core of saa7134 Should fix bug#7220 Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit f5a1ac64cc444cf19c8817d61a410b70bbb619d9 Author: Maxim Levitsky Date: Thu Sep 27 20:34:20 2007 -0300 V4L/DVB (6270): V4L: Honor dev->ctl_invert when setting up the decoder in saa7134 When user sets dev->ctl_invert, driver writes negative values to SAA7134_DEC_LUMA_CONTRAST and SAA7134_DEC_CHROMA_SATURATION, but general code that initializes decorder ignores that Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit b4aeb8b8232bd80764997bf38f574f63e118c259 Author: Maxim Levitsky Date: Thu Sep 27 20:34:15 2007 -0300 V4L/DVB (6269): V4L: Fix a "scheduling while atomic" bug in saa7134 set_tvnorm can sleep in saa7134_i2c_xfer (it will be called through tuner code) but code calls it under spinlock. Fix that Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 9900132f3437e9373aa030cdb5bd2d5db15566e3 Author: Maxim Levitsky Date: Thu Sep 27 20:34:09 2007 -0300 V4L/DVB (6268): V4L: Fix a lock inversion in generic videobuf code videobuf_qbuf takes q->lock, and then calls q->ops->buf_prepare which by design in all drivers calls videobuf_iolock which calls videobuf_dma_init_user and this takes current->mm->mmap_sem on the other hand if user calls mumap from other thread, sys_munmap takes current->mm->mmap_sem and videobuf_vm_close takes q->lock Since this can occur only for V4L2_MEMORY_MMAP buffers, take current->mm->mmap_sem in qbuf, before q->lock, and don't take current->mm->mmap_sem videobuf_dma_init_user for those buffers Signed-off-by: Maxim Levitsky http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 851c0c96b2212f48fe51afc1589541b5eae3a544 Author: Mauro Carvalho Chehab Date: Thu Sep 27 18:25:44 2007 -0300 V4L/DVB (6266): videobuf cleanup: mmap check is common to all videobuf. Make it at core Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit cd4765efdd816ac14075fc7d5adf489502e75e1e Author: Mauro Carvalho Chehab Date: Tue Sep 25 11:53:24 2007 -0300 V4L/DVB (6265): Prevent for calling mmap_free without an allocated buffer Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 3bef5e4a1f73898dc8c8433f938d3a8b22f2be22 Author: Mauro Carvalho Chehab Date: Sat Sep 22 02:01:33 2007 -0300 V4L/DVB (6264): Make the vertical lines to move While this is not the standard color bar behaviour, having some movement there allows to check if buffers are being properly handled. Signed-off-by: Mauro Carvalho Chehab commit 123f8ef64e3996e06a930756b6b2cdede4b18da0 Author: Mauro Carvalho Chehab Date: Thu Sep 6 20:11:35 2007 -0300 V4L/DVB (6263): Fix buffer release code Release code should happen before the cleaning of map variable. Signed-off-by: Mauro Carvalho Chehab commit e78dcf55520769471c66024b13df7e9e592436f4 Author: Mauro Carvalho Chehab Date: Thu Sep 6 19:08:24 2007 -0300 V4L/DVB (6262): An allocation error message were being printed as a debug msg Signed-off-by: Mauro Carvalho Chehab commit c520a4970c7e5f18275ef935372e56eabd6d0e44 Author: Mauro Carvalho Chehab Date: Thu Sep 6 18:55:07 2007 -0300 V4L/DVB (6261): Cleans mem->vmalloc after vfree Signed-off-by: Mauro Carvalho Chehab commit 28318c72adc14952d05d8037d73cec852247791c Author: Mauro Carvalho Chehab Date: Tue Oct 2 11:16:16 2007 -0300 V4L/DVB (6260): Fix Kconfig dependency Thanks to Michael Krufky for pointing this to me. Signed-off-by: Mauro Carvalho Chehab commit 40558dafff257d69248af8b96c7e896f6bc79dfa Author: Mauro Carvalho Chehab Date: Mon Aug 27 07:37:34 2007 -0300 V4L/DVB (6259): Fix vivi poll() method Due to the replace of videobuf_read_one to videobuf_read_stream, poll() method implementation is wrong. This fixes poll() implementation, making read of /dev/video? to work again. With this method, an USB driver can use video-buf, without needing to request memory from the DMA-safe area. Signed-off-by: Mauro Carvalho Chehab commit 327a338d4fd018d33e7cacde46c0d82622b4bda8 Author: Arthur Jones Date: Thu Aug 2 14:46:29 2007 -0700 IB/ipath: iba6110 rev4 GPIO counters support On iba6110 rev4, support for three more IB counters were added. The LocalLinkIntegrityError counter, the ExcessiveBufferOverrunErrors counter and support for error counting of flow control packets on an invalid VL. These counters trigger GPIO interrupts and the sw keeps track of the counts. Since we also use GPIO interrupts to signal packet reception, we need to turn off the fast interrupts, or we risk losing a GPIO interrupt. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit ba366a23b68029fc8560acf1ad8735eed910f962 Author: Mauro Carvalho Chehab Date: Thu Aug 23 18:12:08 2007 -0300 V4L/DVB (6257): Rename video-buf-dvb to videobuf-dvb to be consistent with the other patches Signed-off-by: Mauro Carvalho Chehab commit 76dea3bc2644e99cce1d98d0bbd3124314e5b50a Author: Roland Dreier Date: Tue Oct 9 19:59:18 2007 -0700 IB/ehca: Fix clipping of device limits to INT_MAX Doing min_t(int, foo, INT_MAX) doesn't work correctly, because if foo is bigger than INT_MAX, then when treated as a signed integer, it will become negative and hence such an expression is just an elaborate NOP. Fix such cases in ehca to do min_t(unsigned, foo, INT_MAX) instead. This fixes negative reported values for max_cqe, max_pd and max_ah: Before: max_cqe: -64 max_pd: -1 max_ah: -1 After: max_cqe: 2147483647 max_pd: 2147483647 max_ah: 2147483647 Based on a bug report and fix from Anton Blanchard . Signed-off-by: Roland Dreier commit ede6bc04f3a07a9c93f02c92cdc281d254398321 Author: Dotan Barak Date: Sun Oct 7 09:30:48 2007 +0200 IPoIB/cm: Clean up initialization of QP attr in ipoib_cm_create_tx_qp() Make the way QP is being created in ipoib_cm_create_tx_qp() consistent with ipoib_cm_create_rx_qp(). Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 2e61c646edfa013203e3428762f8d6a72e10bdea Author: Roland Dreier Date: Tue Oct 9 19:59:18 2007 -0700 mlx4_core: Use mmiowb() to avoid firmware commands getting jumbled up Firmware commands are sent to the HCA by writing multiple words to a command register block. Access to this block of registers is serialized with a mutex. However, on large SGI systems writes to the register block may be reordered within the system interconnect and reach the HCA in a different order than they were issued (even with the mutex). Fix this by adding an mmiowb() before dropping the mutex. This bug was observed with real workloads with the similar FW command code in the mthca driver, and adding the mmiowb() as in commit 66547550 ("IB/mthca: Use mmiowb() to avoid firmware commands getting jumbled up") was confirmed to fix the problems, so we should add the same fix to mlx4. Signed-off-by: Roland Dreier commit 76d7cc0345a037e8eea426f8abc710abd22946dd Author: Roland Dreier Date: Tue Oct 9 19:59:17 2007 -0700 IB/mthca: Use mmiowb() to avoid firmware commands getting jumbled up Firmware commands are sent to the HCA by writing multiple words to a command register block. Access to this block of registers is serialized with a mutex. However, on large SGI systems, problems were seen with multiple CPUs issuing FW commands at the same time, because the writes to the register block may be reordered within the system interconnect and reach the HCA in a different order than they were issued (even with the mutex). Fix this by adding an mmiowb() before dropping the mutex. Tested-by: Arthur Kepner Signed-off-by: Roland Dreier commit dcb3f974da827c964cb8d419fbb4350cdc08a559 Author: Sean Hefty Date: Wed Aug 1 14:47:16 2007 -0700 RDMA/cma: Queue IB CM MRAs to avoid unnecessary remote retries Automatically queue MRA message to decrease the number of retries sent by the remote side during connection establishment. This also has the effect of increasing the overall connection timeout without using a longer retry time in the case of dropped packets. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit de98b693e9857e183679cd2f49b3c30d2bc57629 Author: Sean Hefty Date: Wed Aug 1 13:49:53 2007 -0700 IB/cm: Modify interface to send MRAs in response to duplicate messages The IB CM provides a message received acknowledged (MRA) message that can be sent to indicate that a REQ or REP message has been received, but will require more time to process than the timeout specified by those messages. In many cases, the application may not know how long it will take to respond to a CM message, but the majority of the time, it will usually respond before a retry has been sent. Rather than sending an MRA in response to all messages just to handle the case where a longer timeout is needed, it is more efficient to queue the MRA for sending in case a duplicate message is received. This avoids sending an MRA when it is not needed, but limits the number of times that a REQ or REP will be resent. It also provides for a simpler implementation than generating the MRA based on a timer event. (That is, trying to send the MRA after receiving the first REQ or REP if a response has not been generated, so that it is received at the remote side before a duplicate REQ or REP has been received) Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1a1eb6a646f52dc62e3f9ceac4aab9c27e781186 Author: Roland Dreier Date: Tue Oct 9 19:59:17 2007 -0700 IB/mthca: Increase max number of QPs per multicast group to 56 Increase the number of QPs allowed per multicast group from 8 to 56. This allows for one QP per core on 16-core systems, which are now quite common, and allows some space for future growth. This is basically the same patch that Jack Morgenstein just supplied for mlx4. Signed-off-by: Roland Dreier commit e57ac0c297b9e1074dcb6b6ee5cd1d6407a7df14 Author: Jack Morgenstein Date: Tue Oct 2 09:40:13 2007 +0200 mlx4_core: Increase max number of QPs per multicast group to 56 Increase the number of QPs allowed per multicast group from 8 to 56. This allows for one QP per core on 16-core systems, which are now quite common, and allows some space for future growth. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 8ad11fb6b0739e704953e2b0aed453bf7d75d4f6 Author: Jack Morgenstein Date: Wed Aug 1 12:29:05 2007 +0300 IB/mlx4: Implement FMRs Implement FMRs for mlx4. This is an adaptation of code from mthca. Signed-off-by: Jack Morgenstein Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit d7bb58fb1c0e7264a7261c7d0304121ef9402e94 Author: Jack Morgenstein Date: Wed Aug 1 12:28:53 2007 +0300 mlx4_core: Write MTTs from CPU instead with of WRITE_MTT FW command Write MTT entries directly to ICM from the driver (eliminating use of WRITE_MTT command). This reduces the number of FW commands needed to register an MR by at least a factor of 2 and speeds up memory registration significantly. This code will also be used to implement FMRs. Signed-off-by: Jack Morgenstein Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 121964ec38d3e17b5ea6183b3c0571df2f4b0eb6 Author: Roland Dreier Date: Tue Oct 9 19:59:16 2007 -0700 mlx4_core: Fix meaning of dev->caps.reserved_mtts Everything that uses caps.reserved_mtts expects it to be a count of MTT segments, not MTT entries. So convert the value that the FW gives us to a count of segments. Signed-off-by: Roland Dreier commit cf78237d7b0e683d172e40b1e85b26ca49a3cdba Author: Roland Dreier Date: Tue Oct 9 19:59:16 2007 -0700 mlx4_core: Reserve the correct number of MTT segments Taking ilog2(dev->caps.reserved_mtts) to find out the order to pass to the MTT buddy allocator will do the wrong thing if reserved_mtts is ever not a power of 2. Be safe and use fls(dev->caps.reserved_mtts - 1). Signed-off-by: Roland Dreier commit 5b0bf5e25efea77103b0ac7c8057cd56c778ef41 Author: Jack Morgenstein Date: Wed Aug 1 12:28:20 2007 +0300 mlx4_core: Support ICM tables in coherent memory Enable having ICM tables in coherent memory, and use coherent memory for the dMPT table. This will allow writing MPT entries for MRs both via the SW2HW_MPT command and also directly by the driver for FMR remapping without needing to flush or worry about cacheline boundaries. Signed-off-by: Jack Morgenstein Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 04d29b0ede242000b24cfc34cc78fbd164c47e1a Author: Roland Dreier Date: Tue Oct 9 19:59:15 2007 -0700 IB/uverbs: Make ib_uverbs_release_event_file() static ib_uverbs_release_event_file() is only used in uverbs_main.c, so make it static to that file. Also move the definition before the first use, so a forward declaration is not needed. Signed-off-by: Roland Dreier commit a394f83bdfec10b09d8cb111e622556b2e6fd0de Author: Roland Dreier Date: Tue Oct 9 19:59:15 2007 -0700 IB/umad: Fix bit ordering and 32-on-64 problems on big endian systems The declaration of struct ib_user_mad_reg_req.method_mask[] exported to userspace was an array of __u32, but the kernel internally treated it as a bitmap made up of longs. This makes a difference for 64-bit big-endian kernels, where numbering the bits in an array of__u32 gives: |31.....0|63....31|95....64|127...96| while numbering the bits in an array of longs gives: |63..............0|127............64| 64-bit userspace can handle this by just treating method_mask[] as an array of longs, but 32-bit userspace is really stuck: the meaning of the bits in method_mask[] depends on whether the kernel is 32-bit or 64-bit, and there's no sane way for userspace to know that. Fix this by updating to make it clear that method_mask[] is an array of longs, and using a compat_ioctl method to convert to an array of 64-bit longs to handle the 32-on-64 problem. This fixes the interface description to match existing behavior (so working binaries continue to work) in almost all situations, and gives consistent semantics in the case of 32-bit userspace that can run on either a 32-bit or 64-bit kernel, so that the same binary can work for both 32-on-32 and 32-on-64 systems. Signed-off-by: Roland Dreier commit 2be8e3ee8efd6f99ce454115c29d09750915021a Author: Roland Dreier Date: Tue Oct 9 19:59:15 2007 -0700 IB/umad: Add P_Key index support Add support for setting the P_Key index of sent MADs and getting the P_Key index of received MADs. This requires a change to the layout of the ABI structure struct ib_user_mad_hdr, so to avoid breaking compatibility, we default to the old (unchanged) ABI and add a new ioctl IB_USER_MAD_ENABLE_PKEY that allows applications that are aware of the new ABI to opt into using it. We plan on switching to the new ABI by default in a year or so, and this patch adds a warning that is printed when an application uses the old ABI, to push people towards converting to the new ABI. Signed-off-by: Roland Dreier Reviewed-by: Sean Hefty Reviewed-by: Hal Rosenstock commit c01759cee91379cc3cb551bfd7c76f1b51f91ca2 Author: Joachim Fenkes Date: Fri Sep 28 17:20:05 2007 +0200 IB/ehca: Return srq_attr->max_sge in ehca_query_srq() Totally forgot this. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a66072237500f31cec19fa688210150de9c9f957 Author: Hoang-Nam Nguyen Date: Fri Sep 28 17:18:47 2007 +0200 IB/ehca: Adjust 64-bit alignment of create QP response for userspace Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 03f72a51cb1a0ba530e3308e3de84399a75b41ec Author: Hoang-Nam Nguyen Date: Fri Sep 28 17:16:27 2007 +0200 IB/ehca: Fix mem leak of firmware ctrlblock in ehca_create_srq() Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit cd9281d873c91a01af0cb96ff0f75e9905e54403 Author: Jack Morgenstein Date: Tue Sep 18 09:14:18 2007 +0200 IB/mlx4: Display misc device information under /sys/class/infiniband/ display the following device information under /sys/class/infiniband/mlx4_X: board_id, fw_ver, hw_rev, hca_type. This patch makes this information available to userspace utilities such as ibstat and ibv_devinfo. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 57cb61d587e990d556385d367589ff61f6c2c0f2 Author: Ralph Campbell Date: Thu Sep 20 16:33:44 2007 -0700 IB/core: Fix handling of multicast response failures I was looking at the code for multicast.c and noticed that ib_sa_join_multicast() calls queue_join() which puts the request at the front of the group->pending_list. If this is a second request, it seems like it would interfere with process_join_error() since group->last_join won't point to the member at the head of the pending_list. The sequence would thus be: 1. ib_sa_join_multicast() puts member1 on head of pending_list and starts work thread 2. mcast_work_handler() calls send_join() which sets group->last_join to member1 3. ib_sa_join_multicast() puts member2 on head of pending_list 4. join operation for member1 receives failures response from SA. 5. join_handler() is called with error status 6. process_join_error() fails to process member1 since it doesn't match the first entry in the group->pending_list. The impact is that the failed join request is tossed. The second request is processed, and after it completes, the original request ends up being retried. This change also results in join requests being processed in FIFO order. Signed-off-by: Ralph Campbell Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 9faa559c01311281f26544291322252327b65922 Author: Satyam Sharma Date: Thu Aug 23 04:58:30 2007 +0530 IB/ehca: Misc cpuinit section annotations and #ifdef cleanups * Replace {un}register_cpu_notifier with {un}register_hotcpu_notifier thereby losing a couple of #ifdef HOTPLUG_CPU pairs. * Move comp_pool_callback_nb declaration to below that of callback function so that initialization of .notifier_call and .priority can occur at build time itself and not runtime. * Mark the notifier_block (and callback function, and another static function used by it) as __cpuinit{data} for the sake of consistency and remove enclosing #ifdef. (This may increase size for modular build of this module, however, because these are no longer dropped unconditionally now.) Signed-off-by: Satyam Sharma Acked-by: Joachim Fenkes Signed-off-by: Roland Dreier commit ea98054fefa28b646c740baffe83c2962f8228f6 Author: Roland Dreier Date: Tue Oct 9 19:59:13 2007 -0700 mlx4_core: Change capability decoding: SRC->XRC The SRC ("scalable RC") transport has been renamed to XRC ("extended RC"), to avoid having an abbreviation that is so easily confused with an abbreviation for "source." Update the HCA capability decoding output to use the new name. Signed-off-by: Roland Dreier commit ec2a1344ad348a789b1d9d9b32cccbef33161574 Author: Roland Dreier Date: Tue Oct 9 19:59:13 2007 -0700 IB/iser: Remove unnecessary includes is not needed because everyplace it appears, also appears. is not needed because nothing seems to be using device IO anyway. Signed-off-by: Roland Dreier commit 935ef2d7a2910ca810fce57511f4d06a0cf00b5e Author: Steve Wise Date: Wed Sep 12 05:00:25 2007 -0500 RDMA/cma: Use neigh_event_send() to start neighbour discovery Calling arp_send() to initiate neighbour discovery (ND) doesn't do the full ND protocol. Namely, it doesn't handle retransmitting the arp request if it is dropped. The function neigh_event_send() does all this. Without doing full ND, RDMA address resolution fails in the presence of dropped ARP broadcast packets. Signed-off-by: Steve Wise Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit 3a31c41901b6bd3937ec36e0e4a930849e270df6 Author: Joachim Fenkes Date: Thu Sep 13 18:16:20 2007 +0200 IB/ehca: Only use MR large pages for hugetlb regions ...because, on virtualized hardware like System p, we can't be sure that the physical pages behind them are contiguous otherwise. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit c8d8beea0383e47c9d65d45f0ca95626ec435fcd Author: Joachim Fenkes Date: Thu Sep 13 18:15:28 2007 +0200 IB/umem: Add hugetlb flag to struct ib_umem During ib_umem_get(), determine whether all pages from the memory region are hugetlb pages and report this in the "hugetlb" member. Low-level drivers can use this information if they need it. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 247e020ee5e2a7bf46f2d7a3d4490a670a712a40 Author: Sean Hefty Date: Wed Aug 8 15:51:18 2007 -0700 IB/srp: Add QoS support through service ID Provide the target service ID when performing a path record query to support optional QoS capability. QoS requires support from the SA. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 7ce86409adcd2fda652b628173a66e905950ece1 Author: Sean Hefty Date: Wed Aug 8 15:51:13 2007 -0700 RDMA/ucma: Allow user space to set service type Export the ability to set the type of service to user space. Model the interface after setsockopt. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit a81c994d5eef87ed77cb30d8343d6be296528b3f Author: Sean Hefty Date: Wed Aug 8 15:51:06 2007 -0700 RDMA/cma: Add ability to specify type of service Provide support to specify a type of service for a communication identifier. A new function call is used when dealing with IPv4 addresses. For IPv6 addresses, the ToS is specified through the traffic class field in the sockaddr_in6 structure. Signed-off-by: Sean Hefty [ The comments Eitan Zahavi and myself have made over the v1 post at were fully addressed. ] Reviewed-by: Or Gerlitz Signed-off-by: Roland Dreier commit 733d65fe33b3002a6f2694c0fd8bd760dc13141f Author: Sean Hefty Date: Wed Aug 8 15:41:28 2007 -0700 IB/sa: Add new QoS fields to path record The QoS annex defines new fields for path records. Add them to the ib_sa for consumers that want to use them. Signed-off-by: Sean Hefty Reviewed-by: Or Gerlitz Signed-off-by: Roland Dreier commit 81668838c4583b19276b16382e0c61e21ef5adf0 Author: Sean Hefty Date: Thu Aug 2 12:21:31 2007 -0700 IPoIB: Specify Traffic Class with path record queries for QoS support To support QoS within and between subnets, modify IPoIB to request specific Traffic Class values with path record queries, using the value associated with the IPoIB broadcast group. Signed-off-by: Sean Hefty [ See some comments I made on this at v1 and v2 of the posts ] Reviewed-by: Or Gerlitz Signed-off-by: Roland Dreier commit 08c283ac262d7ab21c5733ff469ff88985381ca9 Author: Hoang-Nam Nguyen Date: Thu Sep 13 18:14:58 2007 +0200 IB/ehca: Fix large page HW cap defines Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 39089e77741a53874eb8a29e4516bbafcc29298a Author: Joachim Fenkes Date: Tue Sep 11 15:35:32 2007 +0200 IB/ehca: Bump version number and change its format Nobody needed the SVNEHCA_ prefix anyway. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 5110e4de4995db1c28457b08ed1e291f9b38f2e7 Author: Joachim Fenkes Date: Wed Sep 12 16:44:11 2007 +0200 IB/ehca: Replace get_paca()->paca_index by the more portable raw_smp_processor_id() We can use raw_smp_processor_id() here because the processor ID is only used for debug output and therefore our use is preemption-unsafe. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 0b5de96858e516311f2d3ca45073c2afd2eb5d94 Author: Joachim Fenkes Date: Tue Sep 11 15:34:35 2007 +0200 IB/ehca: Serialize MR alloc and MR free hvCalls Some firmware levels exhibit a race condition between H_ALLOC_RESOURCE(MR) and H_FREE_RESOURCE(MR). Work around this problem by locking these hvCalls against each other. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit e90d0b3daede2bae2e78f8bf88c19182961cd19d Author: Joachim Fenkes Date: Tue Sep 11 15:34:04 2007 +0200 IB/ehca: Path migration support Fix some modify_qp() issues related to path migration. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b708fba3c2942a175c3cb04a7bb4c89f907b497b Author: Joachim Fenkes Date: Tue Sep 11 15:33:40 2007 +0200 IB/ehca: Add check for max #SGE to create_qp() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 86dce445e01a50339f8f86c466c64a863e5fd18a Author: Joachim Fenkes Date: Tue Sep 11 15:32:50 2007 +0200 IB/ehca: ehca_gen_warn() should always print Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit e37221928bf685d63ba5319746eafe463d61e330 Author: Joachim Fenkes Date: Tue Sep 11 15:32:22 2007 +0200 IB/ehca: Print return codes as signed decimal integers ...because -12 is easier to read than FFFFFFF4. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 2863ad4bddf366790a733cfd71f2f480afdf36fc Author: Joachim Fenkes Date: Tue Sep 11 15:31:49 2007 +0200 IB/ehca: Refactor hvcall tracing Change hvcall trace output towards better readability: reg numbers instead of argument numbers, return code as signed decimal instead of unsigned hex. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit e390d3b52f791fcea26312ba4982cda82052727b Author: Hoang-Nam Nguyen Date: Tue Sep 11 15:31:06 2007 +0200 IB/ehca: Use remap_4k_pfn() to map firmware contexts to user space Use Paul's new remap_4k_pfn() function to map our 4K firmware contexts into user space on 64K-page machines without exposing neighboring firmware contexts. Return the context's offset within a 64K page to user space so it can determine the proper virtual address. For details about remap_4k_pfn(), see commit 721151d0 or http://patchwork.ozlabs.org/linuxppc/patch?id=10281 Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 5281a4b8a0c6bac0c070913ec25868faa06a3115 Author: Stefan Roscher Date: Tue Sep 11 15:29:39 2007 +0200 IB/ehca: Support more than 4k QPs for userspace and kernelspace Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 441633b968a5be0ef9be7c37ae24c35eda5b730d Author: Stefan Roscher Date: Tue Sep 11 15:26:33 2007 +0200 IB/ehca: Small QP userspace support Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a855b1a7423ac83c76638f156d79c854b0feb94d Author: Peter Oruba Date: Fri Aug 10 13:54:33 2007 -0700 IB/mthca: Use PCI-X/PCI-Express read control interfaces These driver changes incorporate the proposed PCI-X / PCI-Express read byte count interface. Reading and setting those values doesn't take place "manually", instead wrapping functions are called to allow quirks for some PCI bridges. Signed-off by: Peter Oruba Based on work by Stephen Hemminger Cc: Roland Dreier Cc: Michael S. Tsirkin Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 3c10c7c929b30e8813d15960cb97f95a0b2ba615 Author: Ali Ayoub Date: Sun Sep 9 14:55:11 2007 +0300 IB/sa: Error handling thinko fix ib_create_send_mad() returns an error code pointer on error, not NULL. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 339e2640a9f403f7b7acb2ea67f3568b8ac3eebf Author: Anton Blanchard Date: Wed Aug 29 12:43:01 2007 -0500 IB/ehca: Export module parameters in sysfs At the moment the ehca module parameters are not exported in sysfs. Export them with 0444 permissions. Signed-off-by: Anton Blanchard Acked-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 1f794483025bc1e9e8e3321089a7f29ad3cc448f Author: Anton Blanchard Date: Wed Aug 29 11:05:35 2007 -0500 IB/ehca: Make output clearer by removing some debug messages ehca spits out a lot of debugging information. I had to look closely to see the "Port 1 is not active" message within all the debug: eHCA Infiniband Device Driver (Rel.: SVNEHCA_0022) eHCA scaling code enabled ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_define_sqp Port 1 is not active. ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_create_qp ehca_define_sqp() failed rc=ffffffffffffffff ib_mad: Couldn't create ib_mad QP1 ib_mad: Couldn't open ehca0 port 1 ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_alloc_fmr unsupported fmr_attr->page_shift=9 ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_alloc_fmr rc=ffffffffffffffea pd=c000000b4b5b2420 mr_access_flags=7 fmr_attr=c0000005afd37394 fmr_create failed for FMR 0 Remove a few debug statements so that things are clearer: eHCA Infiniband Device Driver (Rel.: SVNEHCA_0022) eHCA scaling code enabled ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_define_sqp Port 1 is not active. ib_mad: Couldn't create ib_mad QP1 ib_mad: Couldn't open ehca0 port 1 ehca D.001.DQDXYCB-P1-C9: PU0006 EHCA_ERR:ehca_alloc_fmr unsupported fmr_attr->page_shift=9 fmr_create failed for FMR 0 Signed-off-by: Anton Blanchard Acked-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit d7dc3ccbe4dd1d37950da0138079e61d5be06ca9 Author: Roland Dreier Date: Tue Oct 9 19:59:06 2007 -0700 IB/mlx4: Fix up SRQ limit_watermark endianness mlx4_srq_query() returns a big-endian 16-bit value through an int *, which screws up sparse checking. Fix this so that a CPU-endian value is returned. Signed-off-by: Roland Dreier commit ca6de177acef8f2c7c3901ea583a263364ca7bbb Author: Eli Cohen Date: Tue Aug 21 18:46:10 2007 +0300 IPoIB: Fix error path memory leak Clean up properly if ib_query_pkey() or ib_query_gid() fail. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit b3ac60fc243f2312d27ecded058ef96f52f25fe0 Author: Eli Cohen Date: Tue Oct 9 19:59:06 2007 -0700 IPoIB: Fix typo to end statement with ';' instead of ',' Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 017aadc4b505ad3ec2acc4e6ba96d63ae1c997a5 Author: Michael S. Tsirkin Date: Tue Aug 7 16:10:34 2007 +0300 IB/mthca: Enable MSI-X by default Recover from MSI-X errors by automatically falling back on regular interrupt, instead of asking the user to do this manually. This makes it possible to enable MSI-X by default, and will make it possible to get rid of the msi_x module option in the future. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 08fb105540f4649eaa25270ec3ada1d35406afcc Author: Michael S. Tsirkin Date: Tue Aug 7 16:08:28 2007 +0300 mlx4_core: Enable MSI-X by default Recover from MSI-X errors by automatically falling back on regular interrupt, instead of asking the user to do this manually. This makes it possible to enable MSI-X by default, and will make it possible to get rid of the msi_x module option in the future. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 8a68bbe31d51cc75d2acf1c9f5ceff91f7662ea4 Author: Anton Blanchard Date: Wed Aug 29 08:36:22 2007 -0500 IB/fmr_pool: Clean up some error messages in fmr_pool.c A number of printks in fmr_pool.c dont have newlines, eg: fmr_create failed for FMR 0<5>FS-Cache: Loaded Fix them up. Signed-off-by: Anton Blanchard Signed-off-by: Roland Dreier commit 1fea391039d1c4e876a164099bff475a02a29d96 Author: Roland Dreier Date: Tue Oct 9 19:59:05 2007 -0700 IB/ehca: Include from ehca_classes.h ehca_classes.h uses struct mutex, so while seems to be pulled in indirectly by one of the headers it includes, the right thing is to include directly. Signed-off-by: Michael S. Tsirkin Acked-by: Stefan Roscher Signed-off-by: Roland Dreier commit 2242fa4f04d670f02efb43ec537d677edc220880 Author: Roland Dreier Date: Tue Oct 9 19:59:05 2007 -0700 IB/mlx4: Use __set_data_seg() in mlx4_ib_post_recv() Use a __set_data_seg() helper in mlx4_ib_post_recv() too; in addition to making the code easier to read, this also allows gcc to generate better code -- on x86_64: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-8 (-8) function old new delta mlx4_ib_post_recv 359 351 -8 Signed-off-by: Roland Dreier commit eaf559bf566f76887533c077d425adce847f06c8 Author: Roland Dreier Date: Tue Oct 9 19:59:05 2007 -0700 mlx4_core: Don't free special QPs in QP number bitmap Special QPs are not allocated using the regular QP number bitmap, so when they are destroyed, their QP number should not be freed in the bitmap. Found by Dotan Barak of Mellanox. Signed-off-by: Roland Dreier commit 36ce10d3e849c2f9efa3fd647058de398ee276eb Author: Dotan Barak Date: Tue Aug 7 11:18:52 2007 +0300 mlx4_core: Use enum value GO_BIT_TIMEOUT_MSECS Rename GO_BIT_TIMEOUT to GO_BIT_TIMEOUT_MSECS for clarity, and actually use it as the go bit timeout (instead of having the define but then ignoring it and using a hard-coded 10 * HZ for the actual timeout). Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit 65d470b3ea52ee1402499d6fcb4632296452e5b1 Author: Roland Dreier Date: Tue Oct 9 19:59:04 2007 -0700 IB: find_first_zero_bit() takes unsigned pointer Fix sparse warning drivers/infiniband/core/device.c:142:6: warning: incorrect type in argument 1 (different signedness) drivers/infiniband/core/device.c:142:6: expected unsigned long const *addr drivers/infiniband/core/device.c:142:6: got long *[assigned] inuse by making the local variable inuse unsigned. Does not affect generated code at all. Signed-off-by: Roland Dreier commit ce423ef50ee1b6b7db63c748034423aa0afce224 Author: Roland Dreier Date: Tue Oct 9 19:59:04 2007 -0700 IPoIB: Make sure no receives are handled when stopping device The current IPoIB code might process receive completions from ipoib_drain_cq() when bringing down the interface. This could cause packets to be passed up the stack without the device's poll method being called. Avoid this by setting the status of any successful completions to IB_WC_WR_FLUSH_ERR. Signed-off-by: Roland Dreier commit e54664c0958acf14ef3a65d1b78f4a54b437cdf7 Author: Steve Wise Date: Sun Jul 29 15:12:26 2007 -0500 RDMA/cxgb3: Make the iw_cxgb3 module parameters writable Allow changing parameter values without having to reload the module. This is safe because these parameters are only looked at when a new connection is established. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 9eb59573d4b86f347e6cd04f47a4c2082009fa58 Author: Andi Kleen Date: Wed Oct 10 02:18:27 2007 +0200 [CPUFREQ] Don't take semaphore in cpufreq_quick_get() I don't see any reason to take an expensive lock in cpufreq_quick_get() Reading policy->cur is a single atomic operation and after the lock is dropped again the state could change any time anyways. So don't take the lock in the first place. This also makes this function interrupt safe which is useful for some code of mine. Signed-off-by: Andi Kleen Cc: "Pallipadi, Venkatesh" Signed-off-by: Dave Jones commit 79618cf41337ccedb9abeee059ce76aac7962739 Author: Mauro Carvalho Chehab Date: Thu Aug 23 16:31:15 2007 -0300 V4L/DVB (6256): Remove the obsolete video-buf module Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 5a0377060efcf844f4e359f3ab013de7f1b98da2 Author: Mauro Carvalho Chehab Date: Thu Aug 2 23:31:54 2007 -0300 V4L/DVB (6255): Convert vivi to use videobuf-vmalloc This patch removes the usage of videobuf-dma-sg from vivi driver, using instead videobuf-vmalloc. This way, vivi will be useful for testing the newer method. Reverting this patch won't hurt vivi, since both methods work fine. Signed-off-by: Mauro Carvalho Chehab commit 87b9ad070cf76c0f1e8cf836f7eb86e9ac94e34a Author: Mauro Carvalho Chehab Date: Thu Aug 2 23:31:33 2007 -0300 V4L/DVB (6254): Add videobuf-vmalloc Adds a newer videobuf-vmalloc module. This module uses the same videobuf controls, but implements memory allocation based on vmalloc methods. With this method, an USB driver can use video-buf, without needing to request memory from the DMA-safe area. Signed-off-by: Mauro Carvalho Chehab commit 6bb2790f8a0cf93d3dbed6b6e986441110e6174b Author: Mauro Carvalho Chehab Date: Thu Aug 23 16:41:14 2007 -0300 V4L/DVB (6253): Convert vivi to use the newer videobuf-dma-sg module Signed-off-by: Mauro Carvalho Chehab commit c1accaa21bdef38ec0f36eaaf7ce3384fff9d0c5 Author: Mauro Carvalho Chehab Date: Thu Aug 23 16:37:49 2007 -0300 V4L/DVB (6252): Adapt drivers to use the newer videobuf modules PCI-dependent videobuf_foo methods were renamed as videobuf_pci_foo. Also, videobuf_dmabuf is now part of videobuf-dma-sg private struct. So, to access it, a subroutine call is needed. This patch renames all occurences of those function calls to be consistent with the video-buf split. Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 7a7d9a89d0307b1743d782197e2c5fc5ddf183f3 Author: Mauro Carvalho Chehab Date: Thu Aug 23 16:26:14 2007 -0300 V4L/DVB (6251): Replace video-buf to a more generic approach video-buf currently does two different tasks: - Manages video buffers with a common code that allows implementing all the V4L2 different modes of buffering; - Controls memory allocations While the first task is generic, the second were written to support PCI DMA Scatter/Gather needs. The original approach can't even work for those video capture hardware that don't support scatter/gather. I did one approach to make it more generic. While the approach worked fine for vivi driver, it were not generic enough to handle USB needs. This patch creates two different modules, one containing the generic video buffer handling (videobuf-core) and another with PCI DMA S/G. After this patch, it would be simpler to write an USB video-buf and a non-SG DMA module. Signed-off-by: Mauro Carvalho Chehab http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981 Reviewed-by: Ricardo Cerqueira commit 7c596fa964806acb3b5ababb7ec4e1da35b140b3 Author: Brett Warden Date: Tue Oct 2 17:37:21 2007 -0300 V4L/DVB (6250): bw-qcam use data_reverse instead of manually poking the control register fix coding-style repairs Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit b5457b7bdf284d683880163a4c59fdde2f84325a Author: Sascha Sommer Date: Tue Oct 2 12:23:39 2007 -0300 V4L/DVB (6249): Add Typhoon Tv-Tuner PCI to bttv-cards.c Adds an entry for the Typhoon Tv-Tuner PCI to bttv-cards.c Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit 13595a51c0da8ec212ba6f5df79519dbd74166c0 Author: Mauro Carvalho Chehab Date: Mon Oct 1 08:51:39 2007 -0300 V4L/DVB (6247): Fix bug #8689: Fixes IR stop/start during suspend/resume IR workqueue should be disabled during suspend. This avoids some troubles, like the one reported on bug #8689: "The Hauppauge HVR 1100 ir-remote control does not work after resume from suspend to ram or disk." This patch disables IR before suspending, re-enabling it after resume. Thanks to Peter Poklop for reporting it and helping with the fix. Signed-off-by: Mauro Carvalho Chehab Reviewed-by: Peter Poklop commit b25be97929c85b2017379e05588740f564a61c22 Author: Trent Piepho Date: Mon Oct 1 00:38:30 2007 -0300 V4L/DVB (6246): GemTek Radio card - Control Word Redoes the way the control word is stored and set. The existing code was a lot more complicated than it needed to be. Signed-off-by: Trent Piepho Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab Reviewed-by: Pekka Seppänen commit 857e594ad5662349d95ad33f987cbf55cc356a90 Author: Trent Piepho Date: Mon Oct 1 00:32:25 2007 -0300 V4L/DVB (6245): GemTek Radio card - frequency calculation Frequency calculation to use better math. It's still the same IF offset and step size (which are not the same as the datasheet says) as the code was before. It's just more efficient and accurate. Signed-off-by: Trent Piepho Reviewed-by: Pekka Seppänen Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4753647e6422341a091e729b9d81a9a5e7fe6179 Author: Pekka Seppanen Date: Mon Oct 1 00:27:55 2007 -0300 V4L/DVB (6244): [PATCH 1/2] GemTek Radio card Code cleanup for GemTek Radio card driver. Removed unnecessary / invalid I/O commands and rewrote code for tuning on-board BU2614FS chip. Adds several new module params for power users. Includes automatic device probing. Signed-off-by: Pekka Seppanen Signed-off-by: Douglas Schilling Landgraf Reviewed-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 3e7589c50771aa0f6eaa8de799e599c016f4029c Author: Pekka Seppanen Date: Sun Sep 30 21:49:01 2007 -0300 V4L/DVB (6243): [PATCH 2/2] GemTek Radio card Details now match with radio-gemtek.c, eg. no more different ports. Included a short note about cards that should be compatible with radio-gemtek module. Signed-off-by: Pekka Seppanen Signed-off-by: Douglas Schilling Landgraf Reviewed-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 0173e4696f201c53ab17ee4d9da81d74b5f9eddc Author: Michael Krufky Date: Thu Sep 27 11:37:19 2007 -0300 V4L/DVB (6241): fix typo in DVB_PLL Kconfig help text s/driver/drives/1 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9e19db5b6dda251b8d76c3a0069e63faca6be3f0 Author: Brett Warden Date: Fri Sep 28 03:19:04 2007 -0300 V4L/DVB (6238): bw-qcam: use data_reverse instead of manually poking the control register Fixes use of parport_write_control() to match the newer interface that requires explicit parport_data_reverse() and parport_data_forward() calls. This eliminates the following error message and restores the original intended behavior: parport0 (bw-qcam): use data_reverse for this! Also increases threshold in qc_detect() from 300 to 400, as my camera often results in a count of approx 330. Added a kernel error message to indicate detection failure. Thanks Ray and Randy for your comments, and for pointing out that I needed to reset the port to forward mode! Signed-off-by: Brett T. Warden Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0b67f5c568c545cb36f88e9f418af2df1cc58589 Author: Oliver Neukum Date: Wed Sep 26 10:19:01 2007 -0300 V4L/DVB (6237): Oops in pwc v4l driver The pwc driver is defficient in locking, which can trigger an oops when disconnecting. Signed-off-by: Oliver Neukum CC: Luc Saillard Signed-off-by: Mauro Carvalho Chehab commit 23869e236846657415654e8f5fbda9faec8d19e4 Author: Andres Salomon Date: Wed Sep 19 02:44:18 2007 -0300 V4L/DVB (6235): cafe_ccic: default to allocating DMA buffers at probe time By default, we allocate DMA buffers when actually reading from the video capture device. On a system with 128MB or 256MB of ram, it's very easy for that memory to quickly become fragmented. We've had users report having 30+MB of memory free, but the cafe_ccic driver is still unable to allocate DMA buffers. Our workaround has been to make use of the 'alloc_bufs_at_load' parameter to allocate DMA buffers during device probing. This patch makes DMA buffer allocation happen during device probe by default, and changes the parameter to 'alloc_bufs_at_read'. The camera hardware is there, if the cafe_ccic driver is enabled/loaded it should do its best to ensure that the camera is actually usable; delaying DMA buffer allocation saves an insignicant amount of memory, and causes the driver to be much less useful. Signed-off-by: Andres Salomon Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 4562fbeac61468f80a8d05e5ed50660bd97b4859 Author: Michael Krufky Date: Sun Sep 9 05:16:34 2007 -0300 V4L/DVB (6232): dvb-pll: report whether input rf will be autoselected or set via insmod option Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8528fa414703f5be17092be2d3a2c5389755253a Author: Michael Krufky Date: Sun Sep 9 05:08:30 2007 -0300 V4L/DVB (6231): dvb-pll: always show pll name if forced via insmod option The name of the pll will be shown if forced via insmod option, or if debug is enabled. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 704e39bf620810734a38b3f9c0e07cede2a76d91 Author: Michael Krufky Date: Fri Sep 7 18:27:43 2007 -0300 V4L/DVB (6230): dvb-pll: add module option to force dvb-pll desc id (for debug use only) Add a module option to force the dvb-pll module to use an alternate dvb-pll description without having to recompile the kernel. Having a module option like this is useful in some cases, where the vendor may release an alternate revision of the hardware using a different tuner, but without changing the pci subsystem / usb device ids. This option is intended for debugging purposes _only_. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ff3e7dd5809fb632447f1aa6de6b3ffb755727dd Author: Michael Krufky Date: Sun Sep 9 13:00:45 2007 -0300 V4L/DVB (6229): dvb-pll: increase DVB_PLL_MAX to 64 Increased DVB_PLL_MAX from 16 to a figure that would never be reached in a practical sense. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 05a4611b5d71ad6f968fdeef092c24914570898b Author: Michael Krufky Date: Fri Sep 7 18:19:57 2007 -0300 V4L/DVB (6228): dvb-pll: add module option to specify rf input Add a module option to dvb-pll, called "input" to specify which rf input to use on devices with multiple rf inputs. If the module option is not specified, then the driver will autoselect the rf input, as per previous behavior. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a27e5e769e46626052fc18ff63f274ee97142bab Author: Michael Krufky Date: Fri Sep 7 18:11:15 2007 -0300 V4L/DVB (6227): dvb-pll: store instance ID in dvb_pll_priv structure Store an instance ID in the dvb_pll_priv structure, so that module options specific to a given pll may be used by the functions within the driver. When debug is turned on, print a message indicating which pll was attached and it's instance id. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5d7802b2617d785ea0b8631b0605defc19ee6561 Author: Michael Krufky Date: Fri Sep 7 18:03:58 2007 -0300 V4L/DVB (6226): dvb-pll: pass fe pointer into dvb_pll_configure() and set() functions The pll-specific set() function will need access to the dvb_pll_priv structure for new functionality. This patch gives access to this structure to the required functions. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f438d97447d4ccd241db8477f62a0647b9e8220e Author: Stas Sergeev Date: Mon Sep 17 15:34:09 2007 -0300 V4L/DVB (6225): AverTV Studio 307 has only one composite input AverTV Studio 307 has only one composite input. Signed-off-by: Stas Sergeev Acked-by: Nickolay V. Shmyrev Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0e789d7ffafbfd44f7fb2bdbf1138547d8abc231 Author: Michael Krufky Date: Tue Sep 18 13:25:45 2007 -0300 V4L/DVB (6224): VIDEO_CX23885 depends on DVB_CORE Fix the following dependency issue: ERROR: "dvb_dmx_init" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_unregister_adapter" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_register_frontend" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_unregister_frontend" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_net_release" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_frontend_detach" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_dmxdev_release" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_dmx_swfilter" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_net_init" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_dmx_release" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_register_adapter" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "dvb_dmxdev_init" [drivers/media/video/video-buf-dvb.ko] undefined! ERROR: "mt2131_attach" [drivers/media/video/cx23885/cx23885.ko] undefined! ERROR: "s5h1409_attach" [drivers/media/video/cx23885/cx23885.ko] undefined! Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c8e2f07be0ac536c110702ed741c7bc6836e3438 Author: Michael Krufky Date: Sat Sep 15 18:45:10 2007 -0300 V4L/DVB (6222): select DVB_PLL if !DVB_FE_CUSTOMISE for FusionHDTV5 Express VIDEO_CX23885 must select DVB_PLL if !DVB_FE_CUSTOMISE for FusionHDTV5 Express Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f64899ca5af69c33a446d355609831fad6f715cd Author: Oliver Endriss Date: Mon Sep 17 22:17:12 2007 -0300 V4L/DVB (6221): budget-ci: select TT keymap for DVB-S TT 1500 DVB-S TT 1500 must use the TT keymap. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 2060955748dff6280cd211b68c92d9a99d1c78f9 Author: Sakari Ailus Date: Thu Aug 30 09:20:42 2007 -0300 V4L/DVB (6220): TCM825x: Add support for vidioc_int_g_ifparm call, small cleanups vidioc_int_g_ifparm returns platform-specific information about the interface settings used by the sensor. Support for [gs]_ext_clk has been removed. Fix indentation and remove useless & characters. Remove experiment for typechecking slave callback function arguments. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 768f4bd3d6a88c13a4099451aa85ae75c9061316 Author: Sakari Ailus Date: Thu Aug 30 09:20:41 2007 -0300 V4L/DVB (6219): V4L: Int if: Remove [gs]_ext_clk Remove support for g_ext_clk and s_ext_clk. The same functionality is now handled by g_ifparm. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 61c310dc1e2a34bced25b4fa7609316d6755ccc2 Author: Sakari Ailus Date: Thu Aug 30 09:20:40 2007 -0300 V4L/DVB (6218): V4L: Int if: Use -ENOIOCTLCMD for nonexistent ioctls Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 08256ea0da18db20f2edc2e8c935cf74c33ad564 Author: Sakari Ailus Date: Thu Aug 30 09:20:39 2007 -0300 V4L/DVB (6217): V4L: Int if: Add BT.656 interface support This patch adds BT.656 interface settings for [gs]_ifparm. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 098c645e39e10dc580763b5ea4bd4fb390013474 Author: Sakari Ailus Date: Thu Aug 30 09:20:38 2007 -0300 V4L/DVB (6216): V4L: Int if: add vidioc_int_g_ifparm, other updates vidioc_int_g_ifparm can be used to obtain hardware-specific information about the interface used by the slave. Rearrange v4l2-int-device.h as well. Also remove useless & characters. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 588005e1008f2cea61b7a1ae2a86c531e99b8c9c Author: Hans-Jürgen Koch Date: Wed Sep 12 16:20:43 2007 -0300 V4L/DVB (6215): Bugfix for saa6588.c, add forgotten spin_lock_init() There's a serious bug in saa6588.c, it uses a non-initialized spin_lock. Funny thing is that it works fine with bttv, but completly freezes the machine if e.g. saa7134 is loaded. Thanks to Derek Philip for reporting this bug on the rdsd-devel list. This patch adds the missing spin_lock_init(). Signed-off-by: Hans J. Koch Signed-off-by: Mauro Carvalho Chehab commit 39f46adef8e83653b4716369683c134e1413ad30 Author: Jean Delvare Date: Sun Sep 9 06:17:44 2007 -0300 V4L/DVB (6214): usbvision: Don't support I2C_M_REV_DIR_ADDR I2C adapters should only support I2C_M_REV_DIR_ADDR if they really have to (i.e. if they are connected to a broken I2C device which needs this deviation from the standard I2C protocol.) As no media chip driver uses I2C_M_REV_DIR_ADDR, I don't think that the usbvision driver needs to support it. Signed-off-by: Jean Delvare Acked-by: Thierry Merle Signed-off-by: Mauro Carvalho Chehab commit 7fb0dfc853735ccf4e580b0d71510bad96d37c4f Author: Jean Delvare Date: Sat Sep 8 23:19:32 2007 -0300 V4L/DVB (6212): pvrusb2: I2C adapter tweaks from Jean Delvare * I2C adapters aren't expected to handle I2C_M_NOSTART unless they really have to. As the pvrusb2 driver doesn't support it, I take it that it doesn't need it so it shouldn't mention it at all. * I2C_FUNC_SMBUS_EMUL includes I2C_FUNC_SMBUS_BYTE_DATA so listing both is redundant. Signed-off-by: Jean Delvare Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 56585386e297c54a65feef55810c13b4313bdf1e Author: Mike Isely Date: Sat Sep 8 22:32:12 2007 -0300 V4L/DVB (6211): pvrusb2: Allocate a debug mask bit for reporting video standard things It's useful to see specific details for how the pvrusb2 driver is figuring out things related to the video standard, independent of other initialization activities. So let's set up a separate debug mask bit for this and turn it on. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 9f66d4eac6be2428901ab6e0cbb6747d5b6794ef Author: Mike Isely Date: Sat Sep 8 22:28:51 2007 -0300 V4L/DVB (6210): pvrusb2: Do a far better job at setting the default initial video standard The v4l tveeprom logic tells us what video standards are supported by the hardware, however it doesn't directly tell us what should be the preferred initial standard. For example "NTSC/NTSC-J" devices are reported by tveeprom as support NTSC-M and PAL-M, and while that might be true, in the vast majority of cases NTSC-M is really what the user is going to want. However the driver previously just arbitrarily picked the "lowest numbered" standard as the initial default, which in that case would have been PAL-M. (And making matters more confusing - this only caused real problems on 24xxx devices because the saa7115 on 29xxx seems to autodetect the right answer anyway.) This change implements an algorithm that uses the set of "supported" standards as a hint to decide on the initial standard. This algorithm ONLY comes into play if the driver isn't specifically told what to do; said another way - the user can always still change the standard via the sysfs interface, via the usual V4L methods, or even specified as a module parameter. The idea here is only to pick a better starting point if the user (or app) doesn't otherwise do something to set the standard; otherwise this change has no real impact. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 1d643a372259749ce2029e386ed5760d5d7f8b89 Author: Mike Isely Date: Sat Sep 8 22:18:50 2007 -0300 V4L/DVB (6209): pvrusb2: Better discriminate among device types This is a bunch of cleanup in various places to improve behavior based on actual device type being driven. While this doesn't actually affect operation with existing devices, it cleans things up so that it will be easier / more deterministic when other devices are added. Ideally we should make stuff like this table-driven, but for now this is just a series of small incremental (read: safe) improvements. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4db666cc3d199a8b837174bb0ad00d6b8f6115d6 Author: Mike Isely Date: Sat Sep 8 22:16:27 2007 -0300 V4L/DVB (6208): pvrusb2: Implement programmatic means to extract prom contents The pvrusb2 driver already has a method for extracting the FX2's program memory back out to a user application; this ability is used to facilitate manual firmware extraction as per the procedure documented on the pvrusb2 web site. This change follows that pattern and implements a corresponding method to grab the binary contents of the PVR USB2 prom (which for PVR USB2 devices can contain information in addition to the usual Hauppauge metadata). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 401c27ce96382b3bdbc7a9c7e7303fd1b3af9ef0 Author: Mike Isely Date: Sat Sep 8 22:11:46 2007 -0300 V4L/DVB (6207): pvrusb2: Fix a potential oops in an error leg cleanup Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 747f07961e9450058522840129cd7bb994f05fb9 Author: Mike Isely Date: Sat Sep 8 22:10:11 2007 -0300 V4L/DVB (6205): pvrusb2: Fix oops in error leg cleanup Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 289ea1f03353104c4f288f6c70c5c7e1568ea257 Author: Simon Farnsworth Date: Mon Sep 10 13:37:26 2007 -0300 V4L/DVB (6203): Fix SVideo input on KWorld DVB-T 220 boards Fix SVideo input on KWorld DVB-T 220 boards. Without this patch, the luma pin on the SVideo input is treated as a composite in, and the chroma pin is ignored. Also, fix the radio, and provide a second composite input for people who are used to the existing composite on SVideo connector behaviour. Signed-off-by: Simon Farnsworth Reviewed-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit f139fa71c03d80c1d1ee60aa4b0a3ec7a14d45f9 Author: Michael Krufky Date: Sun Sep 9 03:55:34 2007 -0300 V4L/DVB (6200): cx23885: use a pointer to the required i2c bus in dvb_register function Store a pointer to the required i2c_bus so that we do not put the wrong analog demod into standby. Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a6a3f14035fe94c0925fea62f3d3a7a1ab44c1f1 Author: Steven Toth Date: Sat Sep 8 21:31:56 2007 -0300 V4L/DVB (6199): cx23885: Changes to allow demodulators on each transport bus cx23885: Changes to allow demodulators on each transport bus. Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 15e90839512a2c7d2b7f801af8f9057279e3f813 Author: Michael Krufky Date: Sat Sep 8 15:58:45 2007 -0300 V4L/DVB (6198): add CARDLIST.cx23885 to Documentation/ Cardlist generated by cx23885.pl Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9bc37caadffe8327683980b2323371691fa182e3 Author: Michael Krufky Date: Sat Sep 8 15:17:13 2007 -0300 V4L/DVB (6196): cx23885: add support for DViCO FusionHDTV 5 Express This patch adds digital ATSC / QAM support for the DViCO FusionHDTV5 Express. Remote control is supported by ir-kbd-i2c, RTC is supported by rtc-isl1208. Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 579f1163cd5b2a3fd96ec5b84b18a071e7da3b6b Author: Steven Toth Date: Sat Sep 8 15:07:02 2007 -0300 V4L/DVB (6195): Changes to support MPEG TS on VIDB Changes to support MPEG TS on VIDB Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6f074abb624aced31339a0f8fac778b344adac4c Author: Steven Toth Date: Sat Sep 8 14:21:03 2007 -0300 V4L/DVB (6194): Changes to support interrupts on VIDB Changes to support interrupts on VIDB Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ccbe64c664f2e3a86430ef63c974e38ac1cd5b93 Author: Michael Krufky Date: Sat Sep 8 11:25:37 2007 -0300 V4L/DVB (6193): cx23885: define Video B Interrupt Status register bit values - define missing register bit values for VID_B - corrected VID/VBI_B_GPCNT_CTL register addresses Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 661c7e44c5cc2828c7acb00cb71d985e129e3641 Author: Steven Toth Date: Thu Sep 6 16:07:49 2007 -0300 V4L/DVB (6192): Ensure start_dma() is capable of starting dma on port VIDB start_dma() would fail to start dma if a device used VIDB (portb). Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bfde287c2f8f0fe4e50e0eb136e4dca6b0ed84dc Author: Steven Toth Date: Thu Sep 6 15:50:31 2007 -0300 V4L/DVB (6191): Removed a redundant switch() The switch() statement is no longer required. Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fc959befe0f0e4647bb4e326e3ae55875401888a Author: Steven Toth Date: Sat Sep 8 19:08:17 2007 -0300 V4L/DVB (6190): cx23885: GPIO fix for non HVR1800lp boards The HVR1250 and HVR1800 boards need the s5h1409 demod GPIO enabled. Signed-off-by: Steven Toth Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 415927dcd118ee9e5f24c78976509b9a9c747545 Author: Trent Piepho Date: Thu Sep 6 23:02:24 2007 -0300 V4L/DVB (6186): cx88-alsa: Remove some unused fields in card state struct Not sure why they are there, but they don't do anything now. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 82896f29d47d945e331873c7295da9e3a47d709d Author: Trent Piepho Date: Thu Sep 6 23:02:23 2007 -0300 V4L/DVB (6184): cx88-alsa: Make volume control stereo Use the balance control to make the mono volume control stereo. Note that full range isn't supported. The balance control attenuates one channel by 0 to -63 dB, and the volume control provides additional attenuation to both channels by another 0 to -63 dB. So the channel with the most attenuation has a range of 0 to -126 dB, while the other channel only has a range of 0 to -63 dB. ALSA volume controls don't appear to support this concept. I just limited the range to 0 to -63 total. Once you get to -63 dB, you're already at silence, so additional attenuation is pretty much pointless anyway. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 6fcecce7e1a5223be450031fa446323b08d1ec41 Author: Michael Krufky Date: Fri Aug 24 01:32:31 2007 -0300 V4L/DVB (6181): cx88: auto-load rtc and ir receiver i2c modules for FusionHDTV5 RT Gold Auto-load ir-kbd-i2c for ir receiver support, and rtc-isl1208 for rtc support for the FusionHDTV5 RT Gold. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a1dec5160d6e536b409761c1914500f4a7cf08c2 Author: Michael Krufky Date: Fri Aug 24 01:13:07 2007 -0300 V4L/DVB (6180): tuner: don't probe 0x6b or 0x6f on cx88 boards Ignore 0x6b and 0x6f on cx88 boards. Some FusionHDTV cards have an ir receiver at 0x6b and an RTC at 0x6f which can get corrupted if probed. Signed-off-by: Michael Krufky Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 3c44358c49ee4142d0f868509b5b3b02759fa16a Author: Michael Krufky Date: Fri Aug 24 01:07:12 2007 -0300 V4L/DVB (6179): Clean up FusionHDTV ir code - fixed missing buttons in keymap. - make function names & descriptions more generic, since this same ir receiver and remote is used in many FusionHDTV products. - miscellaneous cleanups. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d54d6980916d5521ad47fa61e5b6ff8733221714 Author: Chaogui Zhang Date: Fri Aug 24 01:02:32 2007 -0300 V4L/DVB (6178): add IR remote support for FusionHDTV 5 RT Gold This patch adds support for the built-in IR receiver of the DViCO Fusion HDTV5 RT GOLD PCI card, using FusionHDTV MCE remote controller. Signed-off-by: Chaogui Zhang Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2df9a4c2d81ed255c9e027ee5df676a65f4ab578 Author: Steven Toth Date: Tue Sep 4 21:50:49 2007 -0300 V4L/DVB (6173): cx23885: Minor cleanup and important NMI comment placed in code I wanted to document the NMI assert issue inside the code, even though it's already documented in the patch history. If/when the next cx23887 revision appears, is may need to be enabled on that also. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 86184e06da4b71fc24ae9505ec60ce95c098d0de Author: Steven Toth Date: Tue Sep 4 21:40:47 2007 -0300 V4L/DVB (6172): cx23885: Removing duplicate tuner and demod definitions A number of Hauppauge boards share the same tuner and demod configurations. This patch removes duplicate structures. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 31bae4a62036a1d85aa9ee5864115dad2727336d Author: Steven Toth Date: Tue Sep 4 21:36:32 2007 -0300 V4L/DVB (6171): cx23885: Cleaning up defines Moving some defines into the correct header file. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e52f215be1b3a0337788c8d3345bdf5e3894e19 Author: Steven Toth Date: Tue Sep 4 21:32:41 2007 -0300 V4L/DVB (6170): cx23885: General cleanup of old code Removed unused code. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f29379c3619d85e0bdc0ee30c8199f7f66866fcf Author: Steven Toth Date: Tue Sep 4 21:15:46 2007 -0300 V4L/DVB (6169): Removed unused function mt2131_set_gpo() Unused code is removed. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a77743bc2d29197d48a6f4ae9f8f9e0f0b0ba5d7 Author: Steven Toth Date: Wed Aug 22 21:01:20 2007 -0300 V4L/DVB (6168): cx23885: Added HVR1250 ATSC support Adding support for the Hauppauge HVR1250 PCIe ATSC board. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4823e9ee9f45c78777d040742b5e46336a42c8b3 Author: Steven Toth Date: Wed Aug 22 20:52:21 2007 -0300 V4L/DVB (6167): cx23885: Changed PCI quirks to after bridge detech Changed the pci_quirks function to detech the bridge type before setting the NMI clear bit, rather than detecting based on unique board id. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 426d523664e01c778f6455e9b3bbd40dda76c66a Author: Steven Toth Date: Tue Aug 14 23:35:16 2007 -0300 V4L/DVB (6166): cx23885: Ensure pci_quirks is called after board identification The pci_quirks function was being called too early during initialisation, it needs to be called after the board has been identified. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b86b580244511f9b2fb2043d813e9c4c7d294a62 Author: Michael Krufky Date: Thu Mar 22 01:01:53 2007 -0300 V4L/DVB (6165): cx23885: fix Kconfig dependencies Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3c5666aee31decafdca14f6f83d33ec27b27f982 Author: Michael Krufky Date: Tue Mar 20 23:18:04 2007 -0300 V4L/DVB (6164): cx23885: turn off i2c_debug by default Turn off i2c_debug by default, to make the driver less verbose. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 60a41d3b61a714d98a36cddbe182cc6ff0794274 Author: Michael Krufky Date: Tue Mar 20 23:03:52 2007 -0300 V4L/DVB (6163): cx23885: remove old comments Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 44a6481dcd9ec835bbd608b1b2ee47ee62c7e1d8 Author: Michael Krufky Date: Tue Mar 20 23:00:18 2007 -0300 V4L/DVB (6162): cx23885: whitespace cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 70ebd70573a58a2c0405ef038f1acf74c795eaa5 Author: Michael Krufky Date: Tue Mar 20 21:32:12 2007 -0300 V4L/DVB (6161): cx23885-dvb.c doesnt need to include dvb-pll.h The dvb-pll module is not being used by this driver. Remove the unneeded #include. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 047646bfbbe5ec961d2430514ae29fa0b87ab651 Author: Steven Toth Date: Tue Mar 20 15:33:53 2007 -0300 V4L/DVB (6159): General code cleanup Removed if 0'd code, removed cx88 references. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fe475163ff9680495af3b1b5b7633ea7a42e4185 Author: Steven Toth Date: Tue Mar 20 15:27:53 2007 -0300 V4L/DVB (6158): Fix MT2131 tuner lock status problem The mt2131 tuner reports lock even when the hardware should not lock. This patch allows the s5h1409 demodulator to be configured to query either the tuner driver for status, or the demodulator status when the application requests lock status. This avoids returning false CARRIER and/or SIGNAL lock status. S5H1409 and MT2131 drivers. This is the remainder of the changeset, which only touches cx23885-dvb.c Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e133be0f587996f112d7984c03606af418a7ca05 Author: Steven Toth Date: Mon Mar 19 19:22:41 2007 -0300 V4L/DVB (6157): Removed the need to manually define .bridge for each card Moved the field from cx23885_board to cx23885_dev and added code to iautomatically set the bridge type based on the pci device id. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0fc0739ba940c07e97599a7ee04c24faae9808ed Author: Steven Toth Date: Mon Mar 19 18:03:03 2007 -0300 V4L/DVB (6156): Added the I2C_FUNC_I2C support to the cx23885 i2c algo definition This is required to support the cx258xx family of audio and video decoders. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3328e4fbf10a2c2513d4de662ab251e0f4cb7c3e Author: Steven Toth Date: Mon Mar 19 18:01:07 2007 -0300 V4L/DVB (6155): Cleanup/remove code to access the sram memory maps The cx23885 and cx23887 family use two different memory maps which govern how the internal SRAM is configured. This patch streamlines the access to those structures. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3bd4065961aa03d030cd58feec03d60479fc4348 Author: Steven Toth Date: Mon Mar 19 17:46:03 2007 -0300 V4L/DVB (6154): NMI hang and corrupt transport packet fixes The sram allocations for the cx23887 differ slightly from the cx23885. This patch modifies the cx23887 specific sram memory map to reflect this. As a result, interrupts and DMA handling have also been enabled in cx23885_start_dma() for 887 specific boards. ATSC streaming is now available on cx23885 and cx23887 bridges. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a2129af5b65e28dc3a10402603aa714e493b2169 Author: Steven Toth Date: Fri Mar 16 11:48:33 2007 -0300 V4L/DVB (6153): I2C bus 3 register was incorrect I2C bus 3 was being initialised with the incorrect address register. Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 03121f05f98cf9bba8f0fe77ef381c17681e1386 Author: Michael Krufky Date: Sun Mar 11 20:57:52 2007 -0300 V4L/DVB (6152): cx23885: forward compatibility fixes for recent kernels - fix #include for - fix cx23885_irq declaration for 2.6.19 and later Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2f52cdb20955b024e6b48f4e3d797504c8568a6d Author: Michael Krufky Date: Sun Mar 11 20:55:18 2007 -0300 V4L/DVB (6151): include drivers/media/video/cx23885/Kconfig Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d19770e5178a4bc49641711246360c25781d20a4 Author: Steven Toth Date: Sun Mar 11 20:44:05 2007 -0300 V4L/DVB (6150): Add CX23885/CX23887 PCIe bridge driver This is a new framework to support boards based on the CX23885/7 PCIe bridge. The framework supports digital (no analog yet) Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 275511a0aca8483c03df1c6e3a33a27cee334709 Author: Steven Toth Date: Sun Mar 11 20:44:05 2007 -0300 V4L/DVB (6149): Add I2C_HW_B_CX23885 for Conexant 23885/23887 PCIe bridge Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f61b48f7a838bb3d089b12fc9d03fd53c9ef5022 Author: Michael Krufky Date: Sat Sep 1 02:02:51 2007 -0300 V4L/DVB (6142): cx25840: fix build warning Fix the following build warning: CC [M] cx25840-core.o cx25840-core.c: In function 'init_dll1': cx25840-core.c:147: warning: implicit declaration of function 'udelay' Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1f5ef19779df2c2f75870332b37dd3004c08a515 Author: Michael Krufky Date: Fri Aug 31 17:38:02 2007 -0300 V4L/DVB (6141): tuner: use get_rf_strength instead of get_status to determine signal strength Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3782e050f8860fb701d4cb14df16cd4ed9cce2d2 Author: Michael Krufky Date: Fri Aug 31 17:53:00 2007 -0300 V4L/DVB (6140): tda8290: add get_rf_strength and improve status reading efficiency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6b897f2c3982af51134ba83f4b6de71d28d35944 Author: Michael Krufky Date: Fri Aug 31 16:40:14 2007 -0300 V4L/DVB (6139): tea5767: add get_rf_strength and improve status reading efficiency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fd443f7444180c1cd9cbcb816ebf65c8b8e35301 Author: Michael Krufky Date: Fri Aug 31 16:39:57 2007 -0300 V4L/DVB (6138): tea5761: add get_rf_strength and improve status reading efficiency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 735f0b9af1748602bb7f3a8009c31cf5f133eec8 Author: Michael Krufky Date: Fri Aug 31 16:39:39 2007 -0300 V4L/DVB (6137): tuner-simple: add get_rf_strength and improve status reading efficiency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8fb3b9f7a9e0420150bf6cb8a3c20f45d372cce4 Author: Michael Krufky Date: Thu Aug 30 23:00:43 2007 -0300 V4L/DVB (6136): dvb_frontend: add get_rf_strength function pointer to dvb_tuner_ops Add get_rf_strength function pointer to dvb_tuner_ops, so that rf signal strength can be read directly from the tuner driver by the dvb demodulator driver and / or the analog tuning system. This is an internal api addition -- userspace is not affected. Signed-off-by: Michael Krufky Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ca805d57cf5ea7482ed3da28653f30621249ee45 Author: Michael Krufky Date: Mon Aug 27 21:59:35 2007 -0300 V4L/DVB (6134): tuner: alter build to produce separate modules Break tuner.ko into separate modules. This was a quick change - Tuner sub-drivers are still static-linked to tuner.ko, this will change after using dvb_attach and removing the probing functions. After this change, one can deselect undesired tuner sub-drivers via Kconfig. Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4adad287de82703fd504fdab7aebe760196bb786 Author: Michael Krufky Date: Mon Aug 27 21:59:08 2007 -0300 V4L/DVB (6133): tuner-simple: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 8d0936ed15f509c32e8f81849be3a1cee80e2225 Author: Michael Krufky Date: Mon Aug 27 21:24:27 2007 -0300 V4L/DVB (6132): tea5767: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 7ab10bf72add23f0badf98ead92f58e34e14d35a Author: Michael Krufky Date: Mon Aug 27 21:23:40 2007 -0300 V4L/DVB (6131): tea5761: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab commit 96c0b7cfa5de1d6be0a6f6d202a6a078f5577d8f Author: Michael Krufky Date: Mon Aug 27 21:23:08 2007 -0300 V4L/DVB (6130): mt20xx: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 910bb3e3c5a5d8ed5028846728efc6a375d200eb Author: Michael Krufky Date: Mon Aug 27 21:22:20 2007 -0300 V4L/DVB (6129): tda8290: convert from tuner sub-driver into dvb_frontend module Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e18f9444bda60a67e6feef00c354f8de0cdaeba7 Author: Michael Krufky Date: Tue Aug 21 01:25:48 2007 -0300 V4L/DVB (6128): hybrid tuner refactoring core changes, phase 1 Prepare tuner-core for conversion of tuner sub-drivers into dvb_frontend modules Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Oliver Endriss Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit db8a695658cda21eacfa2a5e3b15e8964bfb93ef Author: Michael Krufky Date: Tue Aug 21 01:24:42 2007 -0300 V4L/DVB (6127): tuner: kill i2c_client interface to tuner sub-drivers To ease the conversion of the analog tuner sub-drivers into dvb_frontend style tuner modules, we must remove the i2c_client interface. dvb_frontend style tuner modules use i2c_transfer directly on the i2c_adapter. This change only alters the interface between tuner.ko and the tuner sub-drivers. The v4l2 / i2c_client interface to tuner.ko remains intact. This patch adds inline functions tuner_i2c_xfer_send, and tuner_i2c_xfer_recv, to replace i2c_master_send and i2c_master_recv inside the tuner sub-drivers. Signed-off-by: Michael Krufky Acked-by: Hans Verkuil Acked-by: Mike Isely Acked-by: Steven Toth Acked-by: Patrick Boettcher Acked-by: Jarod Wilson Acked-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 293197cd0f34eb6bfb5492a63a878575b69e9df4 Author: Michael Krufky Date: Tue Aug 28 17:20:42 2007 -0300 V4L/DVB (6126): tuner: add warning for obsolete i2c address range 0x64 thru 0x6f The tuner module has a rather aggressive range of possible i2c addresses. As per the specs available, it appears as if there are no 4-byte tuners that actually use i2c addresses in the range 0x64 thru 0x6f, yet, tuner-core claims the address range 0x60 thru 0x6f. Allowing tuner.ko to probe these addresses can cause potential damage to certain IR receivers, RTC chips or any other IC's that might otherwise reside on the i2c bus using one of these addresses. The plan is to remove these i2c addresses from the i2c address range of the tuner module. If any devices are discovered that actually do have tuners at one of these addresses, the newer i2c probing methods will be used to handle those cases. In order to collect this information and avoid any potential regressions, the following warning has been added upon successful detection of a tuner using an i2c address in the range 0x64 thru 0x6f: ====================== WARNING! ====================== Support for tuners in i2c address range 0x64 thru 0x6f will soon be dropped. This message indicates that your hardware has a {tuner name} tuner at i2c address {addr}. To ensure continued support for your device, please send a copy of this message, along with full dmesg output to v4l-dvb-maintainer@linuxtv.org Please use subject line: "obsolete tuner i2c address." ====================== WARNING! ====================== Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b930e1d851c3ffbf82127bd0e4d72ffe94d4b7f2 Author: Michael Krufky Date: Mon Aug 27 18:16:54 2007 -0300 V4L/DVB (6125): whitespace cleanup: replace leading spaces with tabs There were many instances of 7-space indents spread throughout the v4l-dvb tree. This patch replaces the 7-space indents with tabs. The whitespace cleaner script doesn't catch these, because it assumes that all indents are 8-space. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 38051450b378ef2cb51dff76a6b8299f59129172 Author: Tyler Trafford Date: Tue Aug 28 17:56:47 2007 -0300 V4L/DVB (6124): cx25840: add a few 10 microsecond delays There were a couple of places in the cx25840 initialization where the datasheet called for a 10 microsecond delay, which we ignored because of the 10 usec I2C delay. Put them in anyway now that the I2C delay was decreased to 5 usec. Signed-off-by: Tyler Trafford Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 51b39dfa5477fdb2459e3c46f855f01b8b03102d Author: Hans Verkuil Date: Sun Aug 26 06:13:04 2007 -0300 V4L/DVB (6123): ivtv: move ivtv.h public header to include/linux Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 136280322d894e6ec07187f2427b00c3d64ad066 Author: Adrian Bunk Date: Tue Aug 28 03:28:04 2007 -0300 V4L/DVB (6122): ivtvfb: fix an obvious bug in ivtvfb_release_buffers() Signed-off-by: Adrian Bunk Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 641ed49db6ecf6c539a5eab50a7540542377add1 Author: Hans Verkuil Date: Tue Aug 28 03:24:31 2007 -0300 V4L/DVB (6121): ivtvfb: replace ivtv_fb prefix to ivtvfb ivtvfb: replace ivtv_fb prefix to ivtvfb, change warning to info message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7b3a0d49e3e929b810ade38926342faca53e867d Author: Hans Verkuil Date: Sun Aug 26 06:11:07 2007 -0300 V4L/DVB (6120): ivtvfb: rename some missed ivtv-fb references to ivtvfb Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0f45b8c57e40cca1778b0b75daab65ca139e5bb9 Author: Hans Verkuil Date: Sun Aug 26 06:04:10 2007 -0300 V4L/DVB (6119): ivtvfb: renamed ivtv-fb to ivtvfb, move header to include/linux The convention for framebuffer devices is to call them xxxfb, not xxx-fb. Conform to this. Also move the ivtvfb.h header to include/linux: it is a public header. The FBIO_WAITFORVSYNC ioctl is now also defined in the ivtvfb.h header, no more need to include matroxfb.h for just this ioctl. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 66cfaeff95d20d1377b4fa3d2c6aa7c29d832941 Author: Hans Verkuil Date: Sun Aug 26 05:45:48 2007 -0300 V4L/DVB (6118): ivtv-fb: add missing FBIO_WAITFORVSYNC ioctl define Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit effa0b08633122cc63d2b7f098434d359d5767ef Author: Hans Verkuil Date: Sat Aug 25 15:09:52 2007 -0300 V4L/DVB (6117): ivtv: finish VBI related cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2f3a98931f51be6093df7c6cc2633bf238778b7d Author: Hans Verkuil Date: Sat Aug 25 14:11:23 2007 -0300 V4L/DVB (6116): ivtv: VBI cleanups and fixes Besides some VBI cleanups this patch also fixes a subtle problem with the VBI re-insertion stream where the PIO work handler wasn't called quickly enough, resulting in occasional corrupt data. Furthermore the CC output didn't disable CC correctly and at the right time, causing duplicates to be sent. An saa7127 fix for VPS output was also added: the wrong data was sent. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 26e9d599561e9a964bd4d7c2be0029db8aaff852 Author: Hans Verkuil Date: Sat Aug 25 05:41:52 2007 -0300 V4L/DVB (6115): ivtv/ivtv-fb: improve locking to avoid initialization problems ivtv/ivtv-fb: improve locking to prevent ivtv/ivtv-fb initialization problems Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 49ebf14e249734a5f64d5bdd9aaa2ddf4bcedc51 Author: Hans Verkuil Date: Sun Aug 26 10:54:14 2007 -0300 V4L/DVB (6113): ivtv: udelay for the i2c bus was set too high An udelay of 5 is sufficient for standard speed i2c busses, 10 make it too slow. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 21340ae03a61bded62acb582264660e61c0636b9 Author: Hans Verkuil Date: Sun Aug 26 10:53:16 2007 -0300 V4L/DVB (6112): cx25840: use a workqueue to load the firmware Loading the firmware using the i2c bit-banging code blocks the kernel. Move the firmware load code into a workqueue so that it plays well with other processes. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f58db9590fc56fe519d6919abae7a70ec17b4d0e Author: Mauro Carvalho Chehab Date: Mon Aug 27 12:05:18 2007 -0300 V4L/DVB (6111): Fix a warning when compiling on x86_64 tcm825x.c: In function 'ioctl_try_fmt_cap': tcm825x.c:639: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' Signed-off-by: Mauro Carvalho Chehab commit 3eaeef57423b5f9571e7524373ec079f583b2113 Author: Hans Verkuil Date: Sat Aug 25 15:19:18 2007 -0300 V4L/DVB (6109): ivtv: use new videodev2.h pixel formats Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5d05704cbe7f9c4708e0f35be13839f593441215 Author: Hans Verkuil Date: Sat Aug 25 15:16:37 2007 -0300 V4L/DVB (6108): videodev2.h: add new pixel formats for the cx23415 OSD The Conexant cx23415 MPEG encoder/decoder supports some unusual pixelformats for the On-Screen Display. Add new defines to videodev2.h for these formats. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 608f62d6ffbc21067e8b9a09f887a5d6cbfe7617 Author: Oliver Endriss Date: Sat Aug 25 13:17:53 2007 -0300 V4L/DVB (6107): dvb_frontend: clean-up shutdown handling Now dvb_powerdown_on_sleep controls whether - whether LNB power is turned off - whether the tuner/frontend enters sleep mode Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 849be2cdf11eef830ec2a3f916c8e7d1e51bc9fb Author: Oliver Endriss Date: Sat Aug 25 12:22:16 2007 -0300 V4L/DVB (6106): dvb_frontend: Default for dvb_shutdown_timeout set to 0 Default for dvb_shutdown_timeout set to 0. dvb_shutdown_timeout > 0 is used for debugging only. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 48136e1e93195b56dc3d9b0730917241b3365633 Author: Oliver Endriss Date: Sat Aug 25 12:00:23 2007 -0300 V4L/DVB (6105): dvb_frontend: ts_bus_ctrl() handling fixed ts_bus_ctrl() should only be called by - the first open - the last release call. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 226835d7e0a1136bce2a0b923e0832ab47450a30 Author: Marco Schluessler Date: Sat Aug 25 11:46:07 2007 -0300 V4L/DVB (6104): dvb_ca_en50221: decrement module use count on error decrement module use count on error Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 0c12c1bfc432477e38ba76f680be4b3f55112a8e Author: Marco Schluessler Date: Sat Aug 25 11:36:39 2007 -0300 V4L/DVB (6103): dvb_ca_en50221: return correct error code value return correct error code value Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit d9bf2c037754f1493323829048d6210602712a43 Author: Jesper Juhl Date: Sat Aug 25 11:23:54 2007 -0300 V4L/DVB (6102): dvb: remove some unneeded vmalloc() return value casts from av7110 vmalloc() returns void * - no need to cast it. Signed-off-by: Jesper Juhl Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 71be258bd9bf41ca3060021f2ed50ad8c672a01e Author: Michael Krufky Date: Thu Aug 23 22:33:28 2007 -0300 V4L/DVB (6100): dvb_net: whitespace cleanup Clean whitespace brain-damage caused by previous patch, "Fix a warning at dvb_net" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6327e952cd3ef5e5a49c84f794dbba72ff3c0e9c Author: Jesper Juhl Date: Fri Aug 24 05:28:54 2007 -0300 V4L/DVB (6098): ivtv: kzalloc() returns void pointer, no need to cast Since kzalloc() returns a void pointer, we don't need to cast the return value in drivers/media/video/ivtv/ivtv-queue.c Signed-off-by: Jesper Juhl Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2d4d5f11ecf6df6974579c70461866932f0bd722 Author: Hans Verkuil Date: Thu Aug 23 21:15:24 2007 -0300 V4L/DVB (6097): ivtv: set correct pixel format and alpha properties ivtv: set correct pixel format and alpha properties in VIDIOC_G_FBUF Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 559e196a56a5d518181efc1d2fefe0892f4689b4 Author: Hans Verkuil Date: Thu Aug 23 17:51:07 2007 -0300 V4L/DVB (6096): ivtv: fix V4L2_ENC_CMD_STOP_AT_GOP_END support Support for V4L2_ENC_CMD_STOP_AT_GOP_END was broken. While the driver correctly waited for the card to capture until the GOP was complete, afterwards the driver buffers were just flushed instead of waiting for the application to read all the pending data. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a158f3559334c6314c7876390caffe88c9fdb64d Author: Hans Verkuil Date: Thu Aug 23 11:31:57 2007 -0300 V4L/DVB (6094): ivtv: more ivtv-driver.h cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fd8b281a2809d2bd9119df1fbd717ab2371297cd Author: Hans Verkuil Date: Thu Aug 23 10:13:15 2007 -0300 V4L/DVB (6093): ivtv: reorganized and cleanup ivtv struct Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 33c0fcad2160bc211272295e862c6f708118d006 Author: Hans Verkuil Date: Thu Aug 23 06:32:46 2007 -0300 V4L/DVB (6092): ivtv: more cleanups, merged ivtv-audio.c and ivtv-video.c into ivtv-routing.c Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 612570f2c4794bbf4e5bfa8648b61fbfc9cd8501 Author: Hans Verkuil Date: Thu Aug 23 05:42:59 2007 -0300 V4L/DVB (6091): ivtv: header cleanup - add guards - remove unused header includes - move card-specific stuff from ivtv-driver.h to ivtv-cards.h - move YUV-specific stuff from ivtv-driver.h to ivtv-yuv.h Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 459a52fab2c42cd5fadfd51fdcfc6dea8107fabf Author: Hans Verkuil Date: Wed Aug 22 08:58:47 2007 -0300 V4L/DVB (6090): ivtv-fb: correct transparency bit reporting Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d2a35fb172845fe75c40a3ee9c95656c7c115e48 Author: Hans Verkuil Date: Wed Aug 22 08:43:34 2007 -0300 V4L/DVB (6089): ivtv: log in status if framebuffer uses YUV instead of RGB Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 01f1e44fe8455b6c6c557a62119b8622fb99f5f2 Author: Hans Verkuil Date: Tue Aug 21 18:32:42 2007 -0300 V4L/DVB (6088): cx2341x: some controls can't be changed while the device is busy The driver should now pass the 'busy' state of the device to the cx2341x module whenever controls are set or tried. -EBUSY will be returned if the device is busy and the user attempts to modify certain 'dangerous' controls. It concerns controls that change the audio or video compression mode and bitrates. The cx88-blackbird and pvrusb2 drivers currently always pass '0' (not busy) to the cx2341x, effectively keeping the old behavior for now. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ea115d54bc963eb2eb0dc223795f3bd6c689ff99 Author: Hans Verkuil Date: Mon Aug 20 16:26:40 2007 -0300 V4L/DVB (6087): ivtv: prevent changing VBI format while capture is in progress Changing the VBI format requires a CX2341X_ENC_INITIALIZE_INPUT firmware call. This can only be done if no capture is in progress. So return -EBUSY if the encoder is busy. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ad8ff0f10b489562012e433acdac92498fe8bdc9 Author: Hans Verkuil Date: Mon Aug 20 16:01:58 2007 -0300 V4L/DVB (6086): ivtv: fix output mode processing: UDMA_YUV wasn't cleared - Always clear when stopping the decoder - Clear if the filehandle that is being close was used for UDMA_YUV output. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f6210c9160dff82ceaaf5e59cf5f8fcd6bdefa38 Author: Trent Piepho Date: Fri Aug 24 01:06:36 2007 -0300 V4L/DVB (6085): cx88-alsa: Fix mmap support The driver has long claimed to support mmap, but it didn't work at all. Some of the dma buffer parameters weren't set, and since video_buf uses vmalloc to allocate the buffer, a page callback is needed too. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit ffb7394d51cf6f60a3753a5cc40613fc9d5c5c96 Author: Trent Piepho Date: Fri Aug 24 01:06:35 2007 -0300 V4L/DVB (6084): cx88-alsa: Eliminate snd_cx88_cards The driver kepts a static global array of snd_card pointers for each card probed, which was never used. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 05b2723387cb4086535e935ee07cca19086308fc Author: Trent Piepho Date: Fri Aug 24 01:06:34 2007 -0300 V4L/DVB (6083): cx88-alsa: Rework buffer handling Rework the way the DMA buffer is handled and IRQs are generated. ALSA uses a ring-buffer of multiple periods. Each period is supposed to corrispond to one IRQ. The existing driver was generating one interrupt per ring-buffer, as opposed to per period. This meant that as soon as the IRQ was generated, the hardware was already starting to re-write the beginning of the buffer. Since the DMA happens on a per-line basis, there was only a narrow window to copy the data out before the buffer was overwritten. The cx88 core RISC program generator is modified so that it can set the IRQ and counter flags to count every X lines of DMA transfer. This way we can generate an interrupt every period instead of every full ring-buffer. Right now only period of one line are supported, but it should be possible to support longer periods. Note that a WRITE instruction generates an IRQ when it starts, not when the transfer is finished. Thus to generate an IRQ when line X is done, one must set the IRQ flag on the instruction that starts line X+1, not the one that ends line X. Change the line size so that there are four lines in the SRAM FIFO. If there are not four lines, the analog output from the cx88's internal DACs is full of clicks and pops. Try to handle FIFO sync errors. Sometimes the chip generates many of these errors before audio data starts. Up to 50 sync errors will be ignored and the counter reset. Have the IRQ handler save the RISC counter to the chip struct, and then have the pointer callback use this to calculate the pointer position. We could read the counter from the pointer callback, but sometimes the sync errors on start up cause the counter to go crazy. ALSA sees this and thinks there has been an overrun. The IRQ hander can avoid saving the counter position on sync errors. The chip "opened" flag wasn't necessary. ALSA won't try to open the same substream multiple times. Probably this code was cut&pasted from the bt87x driver, which has multiple sub-streams for one chip. Do error checking for the videobuf mapping functions. snd_card_cx88_runtime_free() is useless and can be deleted. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 16cf1d0c5d7b8970aca2ca426166833642ce0544 Author: Trent Piepho Date: Tue Aug 21 08:19:16 2007 -0300 V4L/DVB (6082): cx88: Improve risc instruction printing in sram channel dump When the risc instrunctions from the CMDS were printed, instruction arguments weren't taken into account. This changes output like: cx88[0]: risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc1: 0x0cac2800 [ INVALID sol eol 23 21 19 18 13 count=2048 ] cx88[0]: risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc3: 0x0cac2c00 [ INVALID sol eol 23 21 19 18 13 count=3072 ] cx88[0]: risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc1: 0x0cac2800 [ arg #1 ] cx88[0]: risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ] cx88[0]: risc3: 0x0cac2c00 [ arg #1 ] Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit aeb292d1342c649ac0b35ae9205b761fd14adb57 Author: Jean Delvare Date: Thu Aug 23 15:45:41 2007 -0300 V4L/DVB (6081): ivtv: Fix static structure initialization Convert the initialization of ivtv_i2c_algo_template to C99-style. Otherwise a future change to struct i2c_algo_bit_data would break this code. Also declared that structure const - it's a template after all. Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9c12224a607a4b22ab86784e3394b52810b9507c Author: Mauro Carvalho Chehab Date: Tue Aug 21 12:38:39 2007 -0300 V4L/DVB (6079): Cleanup: remove linux/moduleparam.h from drivers/media files Since at least kernel 2.6.12-rc2, module.h includes moduleparm.h. This patch removes all occurences of moduleparm.h from drivers/media files. Signed-off-by: Mauro Carvalho Chehab commit f518b43c452fb2dbe98ee211abfc63cf421927ab Author: Michal Piotrowski Date: Tue Aug 21 12:36:51 2007 -0300 V4L/DVB (6078): Coding style fix drivers/media/video/zr36016.c Signed-off-by: Michal Piotrowski Signed-off-by: Mauro Carvalho Chehab commit b9758dfe0a2065f6fe3a484cc26886960aa847c1 Author: Michal Piotrowski Date: Tue Aug 21 12:34:48 2007 -0300 V4L/DVB (6077): Coding style fix drivers/media/video/zr36050.c Signed-off-by: Michal Piotrowski Signed-off-by: Mauro Carvalho Chehab commit 5634f2ec809818983f58880e381ee929187e4ddf Author: Michal Piotrowski Date: Tue Aug 21 12:34:36 2007 -0300 V4L/DVB (6076): Coding style fix drivers/media/video/zr36060.c Signed-off-by: Michal Piotrowski Signed-off-by: Mauro Carvalho Chehab commit ffbb807c1362a2b64b473c0e093c496a4c7de4bb Author: Michael Krufky Date: Tue Aug 21 01:14:12 2007 -0300 V4L/DVB (6075): tuner: kernel headers go above subsystem headers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c996899d0bc2414c7ff4682500344eb912d5ee1d Author: Michael Krufky Date: Mon Aug 20 21:04:44 2007 -0300 V4L/DVB (6074): tuner: fix ifdef tags to match actual file name The file, tuner-driver.h was originally named tuner-hw.h, but we decided to rename it. At the time, I had forgotten to change the #ifdef __TUNER_HW_H__ to #ifdef __TUNER_DRIVER_H__ . This patch corrects that. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d90d9f5a0ae9eb80bb3a33472074a114af7e548d Author: Edgar Simo Date: Mon Aug 20 14:14:50 2007 -0300 V4L/DVB (6072): saa7134: add DVB-T support for Avermedia Super 007 Add DVB-T support for Avermedia Super 007 Analog television is untested. The device lacks input adapters for radio, svideo & composite -- seems to be a DVB-T ONLY device. Signed-off-by: Edgar Simo Acked-by: Hermann Pitton Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 261f5081a4dbcd148be0a0e744fb454a4f688441 Author: Edgar Simo Date: Mon Aug 20 14:06:00 2007 -0300 V4L/DVB (6071): saa7134-dvb: add missing newline This is a simple whitespace cleanup. Signed-off-by: Edgar Simo Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 19453bc18848e842a9743fcc40707e6fb19ae92b Author: Trent Piepho Date: Sat Aug 18 22:54:49 2007 -0300 V4L/DVB (6068): cx88-alsa: Use pci_dev->revision The revision is part of the pci_dev struct, so there is no need to read it in. Stop storing the revision and latency in the chip struct, since they're never used after being printed out when the driver loads. linux/pci.h wasn't included. It was getting picked up something else, probably cx88.h, but this file uses struct pci_dev so it should include pci.h. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5a5b3b5d4fe3acdd9fb73162023422a9ee0e56f3 Author: Trent Piepho Date: Sat Aug 18 21:01:40 2007 -0300 V4L/DVB (6067): cx88-alsa: Hardware doesn't support mono audio channels_min should be 2, not 1. The hardware only supports stereo. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 59fd8f8d8ee9f7539758419965381bcccfa6f798 Author: Trent Piepho Date: Sat Aug 18 22:09:42 2007 -0300 V4L/DVB (6066): cx88-alsa: Change order of interrupt enabling, fix spurious IRQs Currently the driver turns on audio interrupts, then sets the audio interrupt mask to select which interrupts to get. One could received unwanted interrupts since the mask is set _after_ interrupts have already been turned on. Change the order of the operations, and clear any audio interrupt status bits that are already set for good measure. Before changing the SRAM FIFO parameters, make sure the FIFO isn't being used. This shouldn't happen with just the ALSA driver, as it should never try to turn on FIFO/RISC/DMA while they are already on. However, the V4L driver needs to turn the audio FIFO on for analog audio output to work (undocumented cx88 bug). The FIFO parameters are in an inconsistent state while they are updated, and this results in many FIFO sync error IRQs if the FIFO is in use while it's in this inconsistent state. Also create and use a bunch of symbolic constants for audio interrupt mask bits. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5ba862b77e2d7f9e6e2cb133c43be32ac612aea5 Author: Trent Piepho Date: Sat Aug 18 07:02:26 2007 -0300 V4L/DVB (6065): cx88-alsa: Call core irq handler when needed When an irq handled by the cx88 core driver (currently IR and errors) occurs and the cx88-alsa irq handler is the first called, it will claim to have handled the irq but it doesn't call cx88_core_irq() to handle it. The means loading cx88-alsa can disable the IR remote. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 8ddac9ee4b6f08d7cacf79202ab882eefc55b0c0 Author: Trent Piepho Date: Sat Aug 18 06:57:55 2007 -0300 V4L/DVB (6064): cx88: Add symbolic names for the PCI interrupt bits Used for the PCI_INTMSK and PCI_INT_STAT registers. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 7c03a4488bf6d28078488c70c82357d4286cacc5 Author: Hans Verkuil Date: Sun Aug 19 18:59:42 2007 -0300 V4L/DVB (6061): ivtv: add VIDIOC_OVERLAY Add VIDIOC_OVERLAY to enable/disable the OSD. Also add the OSD state to the log status report. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8beb058f1ecde7bc0554d18ce1baa18b5dfb02d3 Author: Hans Verkuil Date: Sun Aug 19 17:56:41 2007 -0300 V4L/DVB (6060): ivtv: fix IVTV_IOC_DMA_FRAME bug introduced by highmem bugfix The return value of ivtv_udma_fill_sg_list() was changed by the highmem bugfix, but that return value was still used in ivtv-yuv.c. Revert to the old return value, but in addition return -1 in case of a memory allocation error. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 25e3f8f40ecf61b87a4b6476ea6d00cb5b74628c Author: Hans Verkuil Date: Sun Aug 19 15:03:05 2007 -0300 V4L/DVB (6059): ivtv: log stereo/bilingual audio modes Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0989fd2c88a11aa5014b2b348ed51872d14d536d Author: Hans Verkuil Date: Sun Aug 19 12:25:39 2007 -0300 V4L/DVB (6058): ivtv: add support for highmem udma When trying to DMA userspace buffers to the cx23415 you need to check whether the page is in highmem. If this is the case, then bounce buffers have to be used to allow DMA. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3869c6a088c2eb165abe476c3372c6a3653649b3 Author: Hans Verkuil Date: Sun Aug 19 07:11:44 2007 -0300 V4L/DVB (6057): ivtv-fb: remove unused header includes Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit baa4072d84e7a2e9954121c826d7bb8f1fb66b38 Author: Hans Verkuil Date: Sun Aug 19 07:10:55 2007 -0300 V4L/DVB (6056): ivtv: move serialization to the fileops level Serialization is now done on the open/close/ioctl level and also when the read/write/poll start an encoder/decoder stream. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1aa32c2ffd146dddd76babf842e998502f1b993a Author: Hans Verkuil Date: Sun Aug 19 06:08:58 2007 -0300 V4L/DVB (6055): ivtv: improve debug messages - add FILE debug flag for open/close/read/write/poll. - show cmd for encoder/decoder command ioctl. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 313e91e824c0c595dec3740c0c87f55eea6bdb3f Author: Hans Verkuil Date: Sun Aug 19 05:32:33 2007 -0300 V4L/DVB (6054): ivtv: specify some stream sizes in kB instead of MB Some streams (PCM, VBI decoding) do not need that much memory, so specify the allocated memory in kB instead of MB to limit memory usage. E.g. 1 MB is overkill for the VBI decoding stream, 64 kB is enough. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2ce55b606b29c6ab0c8583772f6807b49cc89372 Author: Hans Verkuil Date: Sun Aug 19 05:09:37 2007 -0300 V4L/DVB (6053): ivtv: setup TV output standard on init to prevent flicker The TV output standard was set only on first use, which meant that the saa7127 was set to NTSC until then, leading to flickering on PAL systems. Since the saa7127 has no firmware it is OK to initialize it immediately. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8267761881d6bb91c168ba4d629b778cf106c485 Author: Hans Verkuil Date: Tue Aug 7 07:16:07 2007 -0300 V4L/DVB (6051): cx25840: make proper use of SOFT_RESET Whenever the 0x80b register is used the microcontroller should be reset. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e17a06badaedba89fad989eed409661c89a22e04 Author: Hans Verkuil Date: Sat Aug 18 15:48:42 2007 -0300 V4L/DVB (6050): ivtv: retry/timer improvements - Give up frame after three retries. - When the last capture/decode ends, make sure to delete the dma_timer. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 51a99c0428cc6d3a442eef1c9046099c9383d72b Author: Hans Verkuil Date: Sat Aug 18 15:16:00 2007 -0300 V4L/DVB (6049): ivtv: fix VBI reinsertion decoding - Invalid VBI packets should result in an empty VBI frame, not in an zero-sized frame that causes the reader to incorrectly return a 0 (EOF) value. - PIO completion should not reset the sg_pending_size field. - The DMA offset detection code should be ignored for PIO transfers: it somehow messes up the data on the card and is not needed anyway for PIO. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit de870b52be9d52c3dad76c9ea7399cb94abcaa1a Author: Hans Verkuil Date: Sun Jul 29 15:22:05 2007 -0300 V4L/DVB (6048): ivtv: fix stop stream locking Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 37093b1ea600d84fbf7252baf12eedec85ae40f1 Author: Hans Verkuil Date: Sat Jul 28 19:45:50 2007 -0300 V4L/DVB (6047): ivtv: Fix scatter/gather DMA timeouts It turns out that the cx23415/6 DMA engine cannot do scatter/gather DMA reliably. Every so often depending on the phase of the moon and your hardware configuration the cx2341x DMA engine simply chokes on it and you have to reboot to get it working again. This change replaced the scatter/gather DMA by single transfers at a time, where the driver is now responsible for DMA-ing each buffer. UDMA is still done using scatter/gather DMA, that will be fixed soon. Many thanks to Mark Bryars for discovering the link between scatter/gather and the DMA timeouts. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f4071b85ea0ca3bd06f63c330562b4cfdffa8473 Author: Hans Verkuil Date: Sat Jul 28 12:07:12 2007 -0300 V4L/DVB (6046): ivtv: always steal full frames if out of buffers. When there are no more free buffers, then buffers are stolen from the predma queue. Buffers should be stolen from the head of that queue (which is where the most recently added buffers are) and all buffers belonging to a frame should be stolen. Otherwise 'half-frames' would remain in the queue, which leads to ugly playback and complete sync failure for YUV buffers. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3562c43be8cfd6e300508d7c33acebf3369eacd3 Author: Hans Verkuil Date: Sat Aug 18 11:46:05 2007 -0300 V4L/DVB (6045): ivtv: fix handling of INITIALIZE_INPUT fw call The CX2341X_ENC_INITIALIZE_INPUT firmware call requires careful handling, otherwise the computer can freeze or the top-third of the screen can start flickering. This patch ensures that CX2341X_ENC_INITIALIZE_INPUT is called at the right time and in the right way. In addition the stop capture handling was improved so that the last pending DMA transfer is also processed. Otherwise this would be the first data that arrived when a new capture was started which is not what you want. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit da80be21362376443c6ee9918dfff408e83e0c39 Author: Kazuhiko Kawakami Date: Sat Aug 18 11:39:28 2007 -0300 V4L/DVB (6044): vp27smpx: clarify history of this source. Signed-off-by: Kazuhiko Kawakami Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 33bc4dea0ece371ccadbac8bf90fd0b8e2803f06 Author: Hans Verkuil Date: Sat Aug 18 11:36:09 2007 -0300 V4L/DVB (6043): ivtv: fix incorrect round-robin implementation Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b1139e353c7fc636bfe413f3296ba0284eb60c2e Author: Darren Salt Date: Sat Aug 18 18:05:31 2007 -0300 V4L/DVB (6040): Add IR support for Nova-T Stick Working with Nova-T Stick (70001) with remote control model A415. Untested with other dib0700m/dib0700p devices. Signed-off-by: Darren Salt Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit faebb914399ecf8ecfd0e24b96ac90d7381f7e07 Author: Darren Salt Date: Sat Aug 18 18:04:00 2007 -0300 V4L/DVB (6039): Typo fix in Nova-TD description Typo fix in Nova-TD description Signed-off-by: Darren Salt Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit e927b3fa595117c9f4c6dfa241fe7c3a3c596f17 Author: Michael Mauch Date: Sat Aug 18 18:02:31 2007 -0300 V4L/DVB (6038): Trivial: repair mixed parm descs in dvb-usb-init.c Repair modinfo parameter descriptions for force_pid_filter_usage and disable_rc_polling. Signed-off-by: Michael Mauch Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 458b634cd86968032171a4d6db5c89a772ff0348 Author: Alan Nisota Date: Sat Aug 18 17:52:35 2007 -0300 V4L/DVB (6037): Updated GenPix USB driver There are now 4 different versions of the GENPIX USB adapter. The newest 'Skywalker' models are fully self-contained, and need no additional hardware to be used. A very reliable DVB-S card even without using any of the alternate modulatations (which this kernel module does not currently support) The following patch adds support for all 4 versions of the genpix adapter (www.genpix-electronics.com). Signed-off-by: Alan Nisota alannisota@gmail.com Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit fa40b2237ab6ed239967f76432438080232b88fe Author: Trent Piepho Date: Fri Aug 17 05:50:22 2007 -0300 V4L/DVB (6034): cx88: Add parameter to control radio deemphasis time constant FM radio transmission use a preemphasis/deemphasis scheme to reduce high-frequency noise. The cx88 audio decoder is supposedly set to no deemphasis by the current driver. However, the "no deemphasis" setting doesn't work. On my chip, cx23883, it produces the same result as the 75 us time constant. Maybe the default settings on the cx23881 are for 50 us? Since the deemphasis time constant varies by country, allow setting it via a module parameter. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 82e67246cd2a860637ee9d27776ad48d32734f6c Author: Trent Piepho Date: Fri Aug 17 17:49:41 2007 -0300 V4L/DVB (6031): Fix for bug 7819: fixed hotplugging for dvbnet The first part of dvb_net_close() is just a cut&paste from dvb_generic_release(), so maybe it would be better to just call dvb_generic_release() instead? Signed-off-by: Trent Piepho Acked-by: Markus Rechberger Acked-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 89d969a39da8e9ee5db1c1fb49f55f4206a445ac Author: Adrian Bunk Date: Thu Aug 16 10:03:18 2007 -0300 V4L/DVB (6025): Net_ule(): fix check-after-use The Coverity checker spotted that we'd have already oops'ed if "dev" was NULL. Signed-off-by: Adrian Bunk Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5772f81326904f2bfbb2bf2f365b3fb36ee3b7d8 Author: Trent Piepho Date: Wed Aug 15 14:41:59 2007 -0300 V4L/DVB (6023): cx88: Clean up some ugly and inconsistent printk()s Get rid of the "CORE" prefix from cx88 printks. It was only used a few times, and it makes it look like they're coming from the kernel core or something. Fix the message, "TV tuner 60 at 0x1fe, Radio tuner -1 at 0x1fe", by adding a "cx88[0]" prefix to be consistent, and to keep people who grep their dmesg output for cx88 from missing it. Get rid of the addresses, which are always wrong. The addresses are always set to -1, but because it's an unsigned 8-bit value, the left shift converts it to the nonsense address 0x1fe. In the cx8802 driver, some cut and pasted code prefixed lines with "CORE cx88[0]:", which has been changed to "cx88[0]/2:" like the other printks from the cx8802 driver. Also fix some ugly printks in the cx8802 driver that used __FUNCTION__ for KERN_INFO and KERN_ERR messages. The changed printks in cx88-mpeg.c also needed lots of whitespace and 80-column fixes. A bunch of misc changes in cx88-dvb.c and cx88-video.c to add message levels or a consistent "cx88[?]/2" or "cx88[?]/0" prefix. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit bbc83597dfe3093b161014e6ebb351279eabaa7c Author: Trent Piepho Date: Wed Aug 15 14:41:58 2007 -0300 V4L/DVB (6022): cx88: Move card core creation from cx88-core.c to cx88-cards.c A lot of code in cx88-cards.c was only used by cx88-core.c when the core state is first allocated and initialized. Moving that task to cx88-cards makes the driver simpler and the files more self contained. - Module parameters tuner, radio, card, and latency move to cx88-cards.c - cx88_boards is made static - cx88_subids is made static and const - cx88_bcount is eliminated - cx88_idcount is eliminated - cx88_card_list() is made static - cx88_card_setup_pre_i2c() is made static - cx88_card_setup() is made static - cx88_pci_quirks() is moved from cx88-core to cx88-cards The function argument "char *name" is made const too - get_ressources() is moved from cx88-core to cx88-cards, and renamed to cx88_get_resources() - The code to allocate and initialize the core state struct and the chip is moved out of cx88-core.c:cx88_get_core() and into a new function in cx88-cards.c, cx88_core_create(). This makes both functions simpler. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 6a59d64c5cc302e0139ddb1f5e57afceecb14368 Author: Trent Piepho Date: Wed Aug 15 14:41:57 2007 -0300 V4L/DVB (6021): cx88: Copy board information into card state The cx88 driver state stored the ID of the board type in core->board. Every time the driver need to get some information about the board configuration, it uses the board number as an index into board configuration array. This patch changes it so that the board number is in core->boardnr, and core->board is a copy of the board configuration information. This allows access to board information without the extra indirection. e.g. cx88_boards[core->board].mpeg becomes core->board.mpeg. This has a number of advantages: - The code is simpler to write. - It compiles to be smaller and faster, without needing the extra array lookup to get at the board information. - The cx88_boards array no longer needs to be exported to all cx88 modules. - The boards array can be made const - It should be possible to avoid keeping the (large) cx88_boards array around after the module is loaded. - If module parameters or eeprom info override some board configuration setting, it's not necessary to modify the boards array, which would affect all boards of the same type. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit b09a79f5848f2143a8ffc724910743027d5a70e0 Author: Trent Piepho Date: Mon Aug 13 12:21:58 2007 -0300 V4L/DVB (6020): cx88: Fix use of uninitialized variable An error message for PCI resource allocation failure used the board type before it was set. Just get rid of the error message, as get_ressources() [sic] already prints one. Format that error message better, and add the pci function and subsystem information to better associate the error with what caused it. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit c252b0511596f76a32c7c64bcc6cc60b3bc1ec3a Author: Trent Piepho Date: Mon Aug 13 12:21:57 2007 -0300 V4L/DVB (6019): cx88: Make card database more memory efficient The vmux setting is only two bits, but was taking up a whole 32 in the input description struct. By changing it to a two-bit bitfield, it can fit in what was padding space before and drop the input size by 4 bytes, from 28 to 24. This drops the board description struct, which has 9 inputs, from 280 to 244 bytes. Total driver size decreases by 2108 bytes. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 5f553388b06532b495681f5d6c8e8fbff64ea86a Author: Kay Sievers Date: Wed Aug 15 14:00:09 2007 -0300 V4L/DVB (6015): DVB: convert struct class_device to struct device The currently used "struct class_device" will be removed from the kernel. Here is a trivial patch that converts DVB to use struct device. Signed-off-by: Kay Sievers Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit acb09af4e333dc92cdd32ae75ee7e5f3d7aaf60b Author: Mauro Carvalho Chehab Date: Sun Jul 29 22:56:11 2007 -0300 V4L/DVB (6014): vivi: use videobuf_read_stream() videobuf_read_stream is more efficient than videobuf_read_one Signed-off-by: Mauro Carvalho Chehab commit e9f668dd12d3ed293af0d466bcaa393b78a7d0ee Author: Kumar Gala Date: Wed Aug 15 10:43:19 2007 -0300 V4L/DVB (6010): Use inline functions instead of inline asm for powerpc Change io_st_le32() to use inline functions rather than direct inline assembly code. Signed-off-by: Kumar Gala Signed-off-by: Mauro Carvalho Chehab commit fbd8af07063f7379e71654013e7915315cd869f8 Author: Adrian Bunk Date: Wed Aug 15 10:43:08 2007 -0300 V4L/DVB (6009): Bt8xx: "extern inline" -> "static inline" "extern inline" will have different semantics with gcc 4.3. Signed-off-by: Adrian Bunk Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 6b1dde90de7f612805fbe8212a39264d7b868efc Author: Michael Krufky Date: Sat Aug 11 15:42:12 2007 -0300 V4L/DVB (6006): tuner: move last_div to tuner-simple private data tuner-simple is the only sub-driver that uses last_div, so we can free up two bytes of memory for all other tuners, by moving this into tuner-simple's private data area. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit afa76b392e10d37c9e717198b5c2686de26c629d Author: Rolf Eike Beer Date: Mon Aug 13 08:08:21 2007 -0300 V4L/DVB (6005): Initialize filp->private_data only once in em28xx_v4l2_open Some lines later filp->private_data is initialized to dev again. Since there are some checks that might fail in the mean time keep the later version. Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit be848fe39a656fd57429263f5ac8c656ccdff362 Author: Hans Verkuil Date: Thu Aug 9 17:13:22 2007 -0300 V4L/DVB (6003): vp27smpx: correctly attribute the origin of the driver Correctly attribute the origin of the driver to Kazuhiko Kawakami. It took some time to get the S-O-B line from the original tvaudio patch author, but here it is. Signed-off-by: Kazuhiko Kawakami Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6af5a0394ae9ce7ac8eea233a8c430d743a377c3 Author: Hans Verkuil Date: Tue Aug 7 07:19:33 2007 -0300 V4L/DVB (6002): ivtv: remove unused struct field. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 39c4ad6ab364354bf76cdcc0081fa5c4422db907 Author: Hans Verkuil Date: Sun Aug 5 14:24:17 2007 -0300 V4L/DVB (5999): cx25840: add radio support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9085009683dd46d95105eda14efa8bda403b459f Author: Hans Verkuil Date: Sun Aug 5 08:02:45 2007 -0300 V4L/DVB (5998): ivtv: no need to mute the audio input When changing channels the audio has to be muted. This is done by calling CX2341X_ENC_MUTE_AUDIO and by muted the audio input. The latter is not necessary and is now removed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 87410dab1238623e082e9a78a62f1bbeb6c475e3 Author: Hans Verkuil Date: Sun Aug 5 08:00:36 2007 -0300 V4L/DVB (5997): cx25840: fix audio mute handling and reporting Audio muting for the tuner input was implemented by stopping the audio microcontroller and restarting it on unmute. However, it appears that this method can actually crash the audio firmware. It's rare and seems to happen with NTSC only. It has been reimplemented by setting to volume to 0. In addition, the reporting of the mute state has been improved as well: it used to be impossible to detect whether the audio was muted by the user or if it was muted due to the microcontroller trying to detect the audio standard. This is now clearly stated. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 372978055dd564d97ca1b4099c99296eaff1fe19 Author: Hans Verkuil Date: Tue Sep 11 11:59:15 2007 -0300 V4L/DVB (5995): ivtv: add AverMedia M116 - Split Club3D card from Yuan PG600-2, GotView PCI DVD Lite (different composite input) - Add AVerTV MCE 116 Plus (M116) card - Allow Xceive cards to be used without Xceive support Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2cc720957a743ef59f9925ecfef5f71f08387d8b Author: Hans Verkuil Date: Sat Aug 4 05:06:23 2007 -0300 V4L/DVB (5994): ivtv: make VIDIOC_INT_RESET support smarter. Add support to optionally reset the IR and/or the video digitizer. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 89fc4eb924fc8da769083e1680e24c182589d789 Author: Hans Verkuil Date: Sat Aug 4 05:00:07 2007 -0300 V4L/DVB (5993): cx25840: resetting also requires reloading the firmware Resetting without reloading the firmware is not enough. Sometimes the firmware is 'stuck' and needs to be reloaded. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 94104aa2a88ac2433f7cbde3dbec629263724271 Author: Hans Verkuil Date: Sat Aug 4 04:56:00 2007 -0300 V4L/DVB (5992): ivtv: show card name as well in the LOG_STATUS output. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1597f1f676d2c425028b6a20f21a987f489dbdd2 Author: Oleg Nesterov Date: Thu Aug 9 12:02:30 2007 -0300 V4L/DVB (5990): cinergyt2_suspend: don't forget to unlock cinergyt2->wq_sem Restore unlock of cinergyt2->wq_sem, was deleted by accident. Signed-off-by: Oleg Nesterov Signed-off-by: Mauro Carvalho Chehab commit 7963fa48dafd07a8c6b6007fb038095553ad6a0f Author: Steven Walter Date: Thu Aug 9 11:36:35 2007 -0300 V4L/DVB (5989): V4L: Add additional ioctls to compat_ioctl32 With the addition of these ioctls, I'm able to watch TV with a 32-bit version of tvtime on x86_64. Signed-off-by: Mauro Carvalho Chehab commit 4ebcb48da1eace49ef5f2d83a91984085c6d702d Author: Simon Arlott Date: Thu Aug 9 11:29:33 2007 -0300 V4L/DVB (5988): Fix OOP on videobuf-dvb when hibernating Since videobuf_waiton is called with intr=1, it can return -EINTR and therefore err may be non-zero. This happens when the system goes into the standby state. Without the BUG() occurring, there's no problem with standby mode while DVB is being used. Signed-off-by: Mauro Carvalho Chehab commit 276e49a01a7e6c4a7bfb78618cf2f5befbf9f5de Author: Oliver Endriss Date: Thu Aug 9 02:41:16 2007 -0300 V4L/DVB (5987): saa7146: clean-up irq processing Interrupt processing fixed: First handle interrupt, then acknowledge it. Otherwise the same interrupt might occur twice. Cleaned-up i2c interrupt handler and i2c error messages. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c471b331dda9fdfaf67832998d0b2c848777ab4a Author: Oliver Endriss Date: Thu Aug 9 01:03:42 2007 -0300 V4L/DVB (5986): dvb_frontend: Fixed GET_INFO ioctl and check of frequency limits The calculation of frequency limits ignored tuner-specific frequency limits. Range checks and GET_INFO ioctl updated accordingly. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit a18255bef2a62632ed442fdb90b091193cbabca5 Author: Hartmut Birr Date: Thu Aug 9 00:01:51 2007 -0300 V4L/DVB (5985): Fix the min/max frequencies of some DVB-C frontends The min frequencies of the DVB-C frontends are wrong. In Europe, the center frequency of the lowest channel is 50.5MHz and not 51MHz. All known cards with the stv0297/tda0002x/ves1820 frontend are able to tune to this frequency. I've changed the range to the lowest channel - 1/2 bandwidth and the highest channel + 1/2 bandwidth. For the design of the dvb driver, the frequency ranges must be part of the tuner and not of the frontend itself. The same frontend may be used for different tuners. The attached patch does only fix the ranges and not the design. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 8509a29ec6050a03d88f2da59fc2e361f6c16534 Author: Mariusz Kozlowski Date: Mon Aug 6 18:05:45 2007 -0300 V4L/DVB (5983): Arv.c: fix memset in ioctl Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 473c653fff8dc6a63cad279a8e83395ead12119d Author: Mariusz Kozlowski Date: Mon Aug 6 18:05:35 2007 -0300 V4L/DVB (5982): Dev.c: memset fix Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 5e76a1cb2ce0918ff2429fcfa2d5655dbd273c54 Author: Mariusz Kozlowski Date: Mon Aug 6 18:05:27 2007 -0300 V4L/DVB (5981): Zoran_driver.c: fix memset in ioctl Looks like memset() is zeroing wrong nr of bytes. Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 4f76b672c4f9ceb9e7e0aa6224293da0ae7430da Author: Oliver Endriss Date: Mon Aug 6 13:59:19 2007 -0300 V4L/DVB (5980): tda8083: fix frequency and symbolrate info The TDA8083 supports a symbol rate from 12..30 MSym/s. The Grundig 29504-451 tuner uses the TDA8060 down-converter, which has a frequency range from 920..2200MHz. Thanks-to: Lars Buerding Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 5e082f1521598a91c9194b2356b157cade9b6e87 Author: Trent Piepho Date: Fri Aug 3 18:32:38 2007 -0300 V4L/DVB (5978): tuner: Better tuner radio support Add radio support for the Thomson DTT7612 tuner. This tuner uses a different 1st intermediate frequency than the other radio tuners supported (a lot of NTSC radio tuners probably need this change too). Add a new tuner-simple parameter, radio_if. It selects the 1st IF used for radio reception. The radio frequency setting code in tuner-simple now uses this field, instead of a special case select() block for each tuner with radio support. The tuner parameters for tuners that used a 33.3 MHz RIF now set radio_if to 1 in tuner-types.c. The Thomson DTT7612 gets radio_if = 2, also add has_tda9887 = 1 and fm_gain_normal = 1. Add some defines for tda9887 bits that control IF setting in radio mode. Add a new tda9887 config option, TDA9887_RIF_41_3, that selects a 41.3 MHz radio IF. Fix the way tda9887 radio options work. The driver was modifying the default radio mode config templates based on the TDA9887_XXXX flags. This means that _all_ tuners would get the same settings. If you had a one tuner than used TDA9887_GAIN_NORMAL and one that didn't, both would get the setting. Now the tda9987 driver just checks if tuner mode is radio and then applies the config settings directly to the data being sent, just like how all the TV mode settings already work. The PLL setting math is made a little more accurate. And a grammar error in a printk is fixed. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit a75d204860b5051ebd5635278c097bafb4ea53f9 Author: Trent Piepho Date: Wed Aug 1 00:13:28 2007 -0300 V4L/DVB (5977): cx8800: Add register debug functions to radio device too Add the advanced debug functions to the radio videodev template. One could already use them from the video and vbi devices. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit b97762ba18b57c7057b58ed4f7140a19d0166b01 Author: Trent Piepho Date: Tue Jul 31 18:51:30 2007 -0300 V4L/DVB (5976): mt2131 s5h1409: correct frontend selection logic If a card driver is compiled into the kernel and mt2131 or s5h1409 are compiled as modules, the kernel won't link. A compiled in driver can't use a module, so in this case the mt2131 or s5h1409 are effectively disabled w.r.t the compiled in driver and the stub attach function should be used. Signed-off-by: Trent Piepho Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 19dc74b7c5f02ada19840a85582f42f4dddcdb3e Author: Trent Piepho Date: Tue Jul 31 23:06:50 2007 -0300 V4L/DVB (5975): cx88: Wrong values used for HD-3000 radio mode After some tedious work with a logic probe and a magnifying glass, I've determined that GPIO 7 is used to switch between the DTT7612's Sound 4.5 MHz IF output on pin 12 and the FM 10.7MHz If output on pin 11. GPIO 2 is used to switch the card's analog sound output from from the analog input connector to the CX23883's audio DACs. So, in radio mode GPIO2 = 1 and GPIO7 = 0. Add some comments about how the HD-3000's GPIOs are connected. Delete the vmux setting for the radio, as vmux doesn't apply to radio mode. Also delete the lines setting unused gpio words to zero; it's not necessary as 0 is the default value for uninitialized fields. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit bfd7beacff2b5c811badb587a74c3dfbf7f98721 Author: Ian Armstrong Date: Fri Aug 3 10:01:39 2007 -0300 V4L/DVB (5973): ivtv: attach yuv field order to each frame In the current driver, the field order is global. As soon as it's changed it takes immediate effect. This is a problem when the video changes order mid stream. Although it mostly works okay, the video may judder / flicker. This patch attaches the field order to the frame, so that any buffered frames will not be displayed until the correct field. In the event that the field order is changed mid stream, the driver will ensure that the previous frame is displayed for a minimum of 3 fields. These are the two original fields the frame should have occupied, plus the one extra since the new frame still has to wait for the correct field. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 943e8910db31e36d945f2bf7d4c273ca5fa01f6e Author: Ian Armstrong Date: Fri Aug 3 09:58:29 2007 -0300 V4L/DVB (5972): ivtv: prevent yuv register updates from being missed The yuv output code always compares the new frame position & size with those of the previous frame. If they are different, a flag is set to request the yuv output registers be updated when the new frame is displayed. If the incoming frames are delivered too fast, exhausting the buffers, the most recent frame already buffered will be discarded. Unfortunately, any update request will also be discarded. If the new frame matches the size & position of the now discarded frame, the yuv registers are not flagged for update & will remain in their old state. This patch preserves the register update flag in the event that a frame is dropped. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 68a341a53ab5a3c5b7dad4b226124414c62c124d Author: Ian Armstrong Date: Fri Aug 3 09:51:58 2007 -0300 V4L/DVB (5971): ivtv-fb: framebuffer timings no longer locked on module load Framebuffer timings are currently locked to the video format in use when the module is loaded. If the video format is then changed, the timings returned by the framebuffer will be for the original format. This patch ensures that the timings returned reflect the current video format. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b4b38bd63c07c8927b43c6c378eca1db10fdaf2e Author: Ian Armstrong Date: Fri Aug 3 09:44:13 2007 -0300 V4L/DVB (5970): ivtv: prevent vertical overflow of yuv output When the video standard is changed, there's no guarantee the framebuffer dimensions are still legal. The yuv output code uses these dimensions to calculate the size & position for the video overlay. If the framebuffer dimensions are now illegal, the output may exceed the vertical limit of the display, causing distortion. This patch adds an additional check to ensure the output doesn't exceed the limits for the current video standard, cropping if required. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 813ce47cee33964ff710d2c91063548773cb4cd5 Author: Adrian Bunk Date: Wed Aug 1 10:13:36 2007 -0300 V4L/DVB (5965): Frontend_ioctl(): fix check-after-use The Coverity checker spotted that we have already oops'ed if "fe" was NULL. Since "fe" being NULL seems impossible at this point this patch removes the NULL check. Signed-off-by: Adrian Bunk Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 89f4267d6fa96cb3db053d5183558c94ad5f46e5 Author: Janne Grunau Date: Tue Jul 31 19:45:13 2007 -0300 V4L/DVB (5964): Fixed remote control for dib0700 with new firmware The new firmware returns the data of the REQUEST_POLL_RC request in reversed order. The default is RC5, but it can be adjusted using a module parameter. Signed-off-by: Janne Grunau Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8d99996b0942ff566c62602d83ac2c13521bbe40 Author: Patrick Boettcher Date: Tue Jul 31 10:36:06 2007 -0300 V4L/DVB (5963): Module parameter description for SFN workaround Thanks to Matt Doran I found that there the module parameter description was not OK. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 034d65ed209f8525b1989dc3e6beca92fad57a7d Author: Janne Grunau Date: Tue Jul 31 08:48:40 2007 -0300 V4L/DVB (5962): Fix line-break in err output line-breaks in dib0700-remote-query function fixed. Signed-off-by: Janne Grunau Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3db78e59500a45e05cbe271c8e1ba5a2b7ce0ef8 Author: Patrick Boettcher Date: Tue Jul 31 08:19:28 2007 -0300 V4L/DVB (5961): Fix support for DiB7000M-devices Forgot to initialize the timf_default field. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8f6956c7f9fa72c502bde47df4122bd32d0b86d5 Author: Matt Doran Date: Tue Jul 31 07:09:30 2007 -0300 V4L/DVB (5960): Add module parameter to enable SFN workaround In some areas in the world the broadcasters are not using the same cellid for each transmitter in a SFN. The DiBcom has problems with that setup. The module parameter buggy_sfn_workaround makes it re-usable. Signed-off-by: Matt Doran Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8779737b8e01b95fe6f1e33dc90ea621281c7b67 Author: Patrick Boettcher Date: Mon Jul 30 17:02:17 2007 -0300 V4L/DVB (5959): Fix for size of remote keys in DiB0700 Fix for size of remote control keys in DiB0700. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 1f8ca4b37355cc56a4d25d5698a894ec46964f83 Author: Patrick Boettcher Date: Mon Jul 30 14:24:37 2007 -0300 V4L/DVB (5958): Add support Compro VideoMate 500 with DiB7000PC Add support Compro VideoMate 500 with DiB7000PC. Another design of Compro uses the DiB7000PC and it has new USB ids. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7161f27f2e61b44352a9dcf3927813380d5e710b Author: Janne Grunau Date: Mon Jul 30 13:54:55 2007 -0300 V4L/DVB (5957): Add remote keymap for the Hauppauge Nova-TD Stick Copied from drivers/media/dvb/dvb-usb/nova-t-usb2.c Signed-off-by: Janne Grunau Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 82f3d5594240adcd8d6764cf31dffc473a6cc1d0 Author: Janne Grunau Date: Mon Jul 30 13:50:28 2007 -0300 V4L/DVB (5956): Add remote control support for the Hauppauge Nova-T 500 This patch adds remote control support for the Hauppauge Nova-T 500 using the same keys as for STK7700PD. Signed-off-by: Janne Grunau Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 01373a5c97ced83d4cb520f7e56c80454a198bfb Author: Patrick Boettcher Date: Mon Jul 30 12:49:04 2007 -0300 V4L/DVB (5955): Add support for DiB7070-based devices This changeset adds support for DiB7070P-based devices by adding the dib0070-driver and putting the appropriate layouts into dib0700_devices.c It also includes a new firmware for the dib0700 which is necessary to make the DiB7070-boards work and it also should fix the i2c-problems on some boards. Signed-off-by: Jean-Philippe Sibers Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b6884a17fc70e979ef34e4b5560988b522bb50a0 Author: Patrick Boettcher Date: Fri Jul 27 10:08:51 2007 -0300 V4L/DVB (5954): Sync with DiBcom Driver Release 2.1.3 + some improvements This changesets syncs the OpenSource driver for DiBcom demodulators with version 2.1.3 of DiBcom reference driver. There were some improvements since the last release for linux-dvb, e.g.: - stepped AGC startup - less space for initialization - diversity synchronization Furthermore this changeset contains the following things: - latest AGC settings for MT2266-based devices (namely Nova-TD and other) will improve the sensitivity - support for STK7700D reference design in dib0700-devices - remove some line-breaks when debugging is enabled - getting rid of layer between frontend_parameters and ofdm_channel used in dib*-drivers Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b2a657603e7285bf05b86ad198111b5403c57b41 Author: Mariusz Kozlowski Date: Tue Jul 31 16:35:32 2007 -0300 V4L/DVB (5953): msp3400-driver.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Mauro Carvalho Chehab commit 3873dd041465799cfdeb642531c0ade4fb6614e5 Author: Michael Krufky Date: Sat Jul 28 20:02:55 2007 -0300 V4L/DVB (5950): whitespace cleanup for mt2131 and s5h1409 - trivial whitespace cleanups - add "c-basic-offset: 8" to enforce tabbing style in emacs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a45c92756ed60bc89528701ac512e954acd23b9e Author: Michael Krufky Date: Wed Mar 21 12:03:23 2007 -0300 V4L/DVB (5949): s5h1409: use ARRAY_SIZE macro when appropriate Use ARRAY_SIZE macro already defined in kernel.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89885558ada9e076b48f4b6887e252e13e7eaf74 Author: Steven Toth Date: Sat Jul 28 19:34:52 2007 -0300 V4L/DVB (5948): Adding support for the S5H1409/CX24227 8VSB/QAM demodulator. This patch adds support for the Samsung S5H1409 demodulator, also known as the Conexant CX24227 demodulator. 8VSB mode has been tested and QAM has been implemented based on the spec, although it's untested. The S5H1409 / CX24227 appears on various Hauppauge boards. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f47623a04dab402fb2c18fe516a174bc02005629 Author: Steven Toth Date: Sat Jul 28 19:17:39 2007 -0300 V4L/DVB (5947): Adding support for the MT2131 tuner. This adds support for the Microtune MT2131 tuner. 8VSB mode has been tested but QAM support will likely require more register work. Hauppauge have not announced any QAM devices using the MT2131 so QAM remains undone. For legal reasons, Microtune allowed us to write a GPL driver providing we did not document in significant detail any of the registers. This explains the lack of comments or defined on register names. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 03b7612336560c6799852acaaaeac70e1f00e483 Author: Matthias Kaehlcke Date: Mon Jul 30 14:58:10 2007 -0300 V4L/DVB (5946): Use mutex instead of semaphore in the DVB frontend tuning interface The DVB frontend tuning interface uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 667c7bc0aff18288186f1223784b57f77be7d81b Author: Andi Drebes Date: Mon Jul 30 11:49:51 2007 -0300 V4L/DVB (5942): Usb/vp7045.c: ARRAY_SIZE() This patch replaces an array size calculation done using sizeof with an invocation of the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes Signed-off-by: Mauro Carvalho Chehab commit af520a3478b59476ed61eddee73948807398e358 Author: Andi Drebes Date: Mon Jul 30 11:48:10 2007 -0300 V4L/DVB (5941): Ttpci/budget-av.c: ARRAY_SIZE() This patch replaces an array size calculation done using sizeof with an invocation of the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes Signed-off-by: Mauro Carvalho Chehab commit 261efd12fc291e6b3b42011201bfd011484ad90b Author: Adrian Bunk Date: Mon Jul 30 11:43:55 2007 -0300 V4L/DVB (5940): Export v4l2_int_device_{, un}register This patch fixes the following build error: <-- snip --> ... MODPOST 2135 modules make[2]: *** [__modpost] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 92b3c1ec128695e606fc435d0b68902105d585bb Author: Oliver Endriss Date: Mon Jul 23 21:14:10 2007 -0300 V4L/DVB (5936): tda10023: Remove range check of symbol rate Remove incorrect range check of symbol rate, spotted by the coverity checker and reported by Adrian Bunk. These range checks are performed by dvb_core now. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 1fab46f0decd226fcbae73b23d7f8ed478416fbb Author: Oliver Endriss Date: Mon Jul 23 21:00:36 2007 -0300 V4L/DVB (5935): dvb_frontend: Range check of frequency and symbol rate Add range check of frequency and symbol rate to the FE_SET_FRONTEND ioctl. This will also avoid a divide-by zero exception in the stv0297 driver, if symbol rate is set to 0. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 36c15f8ee41fbc3d8eaf88bba95be3d50268d5d2 Author: Oliver Endriss Date: Mon Jul 23 13:59:55 2007 -0300 V4L/DVB (5934): dvb-ttpci/saa7146: Replace saa7146_i2c_transfer by generic i2c_transfer Convert av7110_v4l.c to use i2c_transfer() instead of saa7146_i2c_transfer(). Make saa7146_i2c_transfer() static. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit ac247433fe205acf460f05de64a30ee71ea307f2 Author: Hans Verkuil Date: Fri Jul 27 06:56:50 2007 -0300 V4L/DVB (5929): Add vp27smpx driver This device is internal to the Panasonic VP27S tuner and is used to set the mono/stereo/bilingual setting of the tuner. It is used by two Japanese cx23416-based cards. Signed-off-by: Takahiro Adachi Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b4c85248afcc5265ce8c36b9c15e40e6a92b5ae7 Author: Hans Verkuil Date: Fri Jul 20 06:53:23 2007 -0300 V4L/DVB (5928): tuner: fix TOP values for the Panasonic VP27 tuner. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 469ba047c08669f364c2616967e8494b1f3ef21c Author: Hans Verkuil Date: Fri Jul 20 06:51:58 2007 -0300 V4L/DVB (5927): ivtv: set correct crystal frequency of the GVMVPRX cards Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6e5eb59102aa6007d3ea2b382a1d3ca4112c272a Author: Hans Verkuil Date: Wed Jul 25 12:55:52 2007 -0300 V4L/DVB (5924): ivtv-fb: initializing the fb should trigger ivtv firmware load ivtv-fb: initializing the framebuffer should trigger ivtv firmware load Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c976bc82339437e840f7dbf0b8c89c09d3fcd75e Author: Hans Verkuil Date: Sun Jul 22 12:52:40 2007 -0300 V4L/DVB (5922): ivtv, cx25840: postpone fw load until first use The firmware is now loaded when the driver is actually used for the first time. This allows the driver to be compiled in-kernel instead of as a module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fa8a7529ba8c3c2f87dec78ad32c388695f4c1b7 Author: Hans Verkuil Date: Sun Jul 22 12:13:08 2007 -0300 V4L/DVB (5921): ivtv: add missing composite input line for ivtv_pci_pg600v2 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7bb293849489b6cc5d6919b8c7f94cb273303e1f Author: Hans Verkuil Date: Sun Jul 22 09:42:09 2007 -0300 V4L/DVB (5919): ivtv: remove dead code Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 54d75ebaa02809f24a16624e32706af3bf97588e Author: Olivier DANET Date: Wed Jul 25 14:42:54 2007 -0300 V4L/DVB (5914): Add initial support for Dual-DVB-T stick Add initial support for Dual-DVB-T stick based on DiB7700 and MT2266 - Microtune MT2266 driver. - Preliminary support for these dual tuner devices : - Pinnacle Dual DVB-T diversity - Terratec Cinergy DT USB XS diversity - Hauppauge Nova TD USB Signed-off-by: Olivier DANET Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 59a00adbd30ed5d3a97ac41ad9e4b040a111eea8 Author: Jesper Juhl Date: Mon Jul 23 11:34:34 2007 -0300 V4L/DVB (5913): Clean up duplicate includes in include/media/ This patch cleans up duplicate includes in include/media/ Signed-off-by: Jesper Juhl Signed-off-by: Mauro Carvalho Chehab commit 915366da0c591f60cb670d89b5ff376f2ef9d8fe Author: Jesper Juhl Date: Mon Jul 23 11:33:26 2007 -0300 V4L/DVB (5912): Clean up duplicate includes in drivers/media/ This patch cleans up duplicate includes in drivers/media/ Signed-off-by: Jesper Juhl Signed-off-by: Mauro Carvalho Chehab commit c6f95d16e0da4d909afc787a3a3dfc504be12177 Author: Hans Verkuil Date: Sun Jul 22 15:44:41 2007 -0300 V4L/DVB (5910): ivtv-fb: improve debug message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f38a7982ad4c38dc592f7f0ac8ee155a2df19fb5 Author: Hans Verkuil Date: Sun Jul 22 08:39:43 2007 -0300 V4L/DVB (5909): ivtv: update version to 1.1 to mark ivtv-fb support Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit aaf9fa21b684509973dd593e30423fc0a6a5e7a3 Author: Ian Armstrong Date: Sat Jul 21 16:43:36 2007 -0300 V4L/DVB (5908): ivtv-fb: cleanups, prevent fw calls in some cases Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 84149a0f70a73385ee7fbb77024544cbed4fe16d Author: Hans Verkuil Date: Fri Jul 20 18:17:18 2007 -0300 V4L/DVB (5906): ivtv-fb: replace HZ with msecs_to_jiffies Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d715e766ddf4786a06abe6a841e956ad8a875963 Author: Hans Verkuil Date: Fri Jul 20 10:30:32 2007 -0300 V4L/DVB (5905): ivtv-fb: Use proper ioctl value Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit be383bd312c4defab8bd4bde8c06fea5bfe0996b Author: Hans Verkuil Date: Fri Jul 20 10:16:03 2007 -0300 V4L/DVB (5904): ivtv-fb: cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 32db775452818656d5fd8fd8b0f54425f5cfc177 Author: Hans Verkuil Date: Fri Jul 20 09:29:43 2007 -0300 V4L/DVB (5902): Add ivtv-fb framebuffer driver. Add the ivtv-fb framebuffer driver for cx23415 devices (currently only the Hauppauge PVR-350 cards). This makes it possible to use the On-Screen Display functionality of these cards, either for menus during MPEG playback, or as a console or X display. Signed-off-by: Kevin Thayer Signed-off-by: Chris Kennedy Signed-off-by: Hans Verkuil Signed-off-by: John P Harvey Signed-off-by: Ian Armstrong Signed-off-by: Mauro Carvalho Chehab commit d3c35acf2455fe354bdd00085511bef6bd6d52f1 Author: Rasmus Rohde Date: Sat Jul 21 15:37:35 2007 -0300 V4L/DVB (5897): dtt200u: add support for the Miglia TVMini USB DVB-T adapter add code for autodetection and firmware download to the Miglia TVMini USB DVB-T adapter. After firmware download, the device re-registers using the WT220U_ZL0353_WARM usb id. Signed-off-by: Rasmus Rohde Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 60e3cac47a442fae74d3429f706350229623bcce Author: Trent Piepho Date: Tue Jul 17 18:29:42 2007 -0300 V4L/DVB (5885): zr36067: Fix problems with module parameters Add permissions to all the module parameters so they can be queried and set (when possible) via sysfs. Add description for the vidmem parameter. Change the video_nr parameter to an array, so that the video number can be specified when a user has more than one card. The driver would try to give all cards the same number otherwise, which will fail for all cards after the first. The default_input option would only allow values of 0 or 1, contrary to the description. Allow values up to the number of inputs defined for the card. Add description of lock_norm's different behavior for 1 and >1. Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit 18b548ca580838a2cc5813a941e6dab28660bb22 Author: Jean Delvare Date: Tue Jul 17 18:29:41 2007 -0300 V4L/DVB (5884): zr36067: clean up debug function Debugging cleanups to the zr36067 driver: * Use module_param_named() to declare the debug parameter, so we can use a single global variable to handle the debug level. This makes the driver a bit smaller (by 648 bytes on x86_64), thanks to one less level of indirection on every use. * Change the debug parameter sysfs permissions, so that the debug level can be adjusted at runtime, as is done in many other media/video drivers. * The debug level is between 0 and 5, not 0 and 4. * Move the zr_debug export and dprintk macro definition to a header file so that we don't have to define them in each source file. * Simplify a duplicate test on zr_debug. Note that zr_debug was subsequently renamed to debug_zr36067 to avoid possible conflicts with other Zoran device drivers, on a suggestion by Trent Piepho. Signed-off-by: Jean Delvare Signed-off-by: Trent Piepho Acked-by: Ronald S. Bultje Signed-off-by: Mauro Carvalho Chehab commit 63116febb9233743279a05be510ab8524f5f6242 Author: Sakari Ailus Date: Fri Jul 20 13:12:51 2007 -0300 V4L/DVB (5883): V4L: Fix a compile warning on non-32-bit machines. Fix a compile warning on non-32-bit machines in v4l2-int-device.h. Add internal ioctl interface fallback function for ioctls with one argument. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit baa05e4b454fa7d87f9a41a4bbc1f749c113ff3a Author: Hans Verkuil Date: Fri Jul 20 06:26:34 2007 -0300 V4L/DVB (5881): ivtv: init channel for NTSC_M_JP standard. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a5e90862114124d79e1a3f34641b00fec51d1806 Author: Sakari Ailus Date: Wed Jul 18 18:04:17 2007 -0300 V4L/DVB (5863): TCM825x: Add driver. Add a driver for Toshiba TCM825x VGA camera sensor. This sensor is used e.g. in Nokia N800 internet tablet. This driver uses the new V4L2 internal ioctl interface. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 9b5d0f1e6dd6b4a67d0851a1c5a4bcf9b0c2f258 Author: Sakari Ailus Date: Wed Jul 18 17:59:15 2007 -0300 V4L/DVB (5862): V4L: Add internal ioctl-like interface. This patch adds an internal ioctl-like interface which can be used in situations where a single Video4Linux device is implemented by multiple device drivers. One master device controls one or more slave devices. The slaves provide Video4Linux ioctl-like interface for the use of the master. Only a handful of ioctls are implemented at the moment. More can (and should) be added as more functionality is required. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 1855256c497ecfefc730df6032243f26855ce52c Author: Jeff Garzik Date: Wed Oct 3 15:15:40 2007 -0400 drivers/firmware: const-ify DMI API and internals Three main sets of changes: 1) dmi_get_system_info() return value should have been marked const, since callers should not be changing that data. 2) const-ify DMI internals, since DMI firmware tables should, whenever possible, be marked const to ensure we never ever write to that data area. 3) const-ify DMI API, to enable marking tables const where possible in low-level drivers. And if we're really lucky, this might enable some additional optimizations on the part of the compiler. The bulk of the changes are #2 and #3, which are interrelated. #1 could have been a separate patch, but it was so small compared to the others, it was easier to roll it into this changeset. Signed-off-by: Jeff Garzik commit e3cec00366e9d60ff65c6f6f8fffdfcadea01056 Author: Grant Likely Date: Thu Oct 4 15:44:52 2007 -0600 [POWERPC] XilinxFB: Make missing pdata structure non-fatal Missing pdata structure is not a fatal error. The device can still be initialized without it. Signed-off-by: Grant Likely commit 31e8d4603ecaeb02424c9669e252ab835354a36e Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: add of_platform bus binding Adds the of_platform bus binding to the xilinxfb driver. Needed to use framebuffer devices described in the OF device tree (used by arch/powerpc). Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 47473e31585032e5c048eeec50e0f9165890230a Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: cleanup platform_bus binding to use platform bus API. Change the platform bus binding to make use of the established platform_bus API. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 264776224d3bb0cd80bc0ec11a769e05a58f8c6b Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: Split device setup from bus binding Split the device setup code away from the platform bus binding. This is in preparation for adding the of_platform bus binding to this driver and most of the setup code is common between the two busses. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 3fb99ce4e2748dafe3f10dba2932f0d13f577623 Author: Grant Likely Date: Thu Oct 4 10:48:37 2007 -0600 [POWERPC] XilinxFB: rename failout labels to reflect failure Labels and gotos are used in xilinxfb_assign to unwind allocations on device registration failures. Rename the labels to reflect the error which occured. This change is being made to make it easier to add new failout paths (which occurs in a subsuquent patch) and to make reviewing the failout path easier. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 3cb3ec2c26473d8123a468abfaca1e926344b1c2 Author: Grant Likely Date: Thu Oct 4 10:48:36 2007 -0600 [POWERPC] XilinxFB: Replace calls to printk with dev_dbg, dev_err, etc. The dev_dbg, dev_err, etc functions provide more context that plain vanilla printk which is useful for debugging. Where appropriate, change printk calls to the appropriate dev_*() call. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 258de4badd5b7b5d168307638f755bd4df16c18e Author: Grant Likely Date: Thu Oct 4 10:48:36 2007 -0600 [POWERPC] XilinxFB: add banner output to probe routine when DEBUG is defined Debug support: when DEBUG is defined, output relevant details to the log about the framebuffer registration. Signed-off-by: Grant Likely Acked-by: Andrei Konovalov commit 38b08e48355641f843c1a5eb4ee252b6db9934aa Author: Robert P. J. Day Date: Sun Oct 7 21:34:57 2007 +1000 [POWERPC] Remove redundant reference to non-existent CONFIG_BOOTIMG There is no BOOTIMG Kconfig variable, not to mention that there is no include/linux/bootimg.h header file. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit ef2ac63aef91f2a93da23476cc6b32a346b00c41 Author: Geoff Levand Date: Tue Oct 9 11:07:24 2007 +1000 [POWERPC] PS3: Add os-area database routines Add support for a simple tagged database in the PS3 flash rom os-area. The database allows the flash rom os-area to be shared between a bootloader and installed operating systems. The application ps3-flash-util or the library libps3-utils from the ps3-utils package can be used for userspace database operations. The latest ps3-utils package is available here: git://git.kernel.org/pub/scm/linux/kernel/git/geoff/ps3-utils.git Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 7db19421a9b116a196845a1118729cf5988f1b57 Author: Geoff Levand Date: Sun Oct 7 07:35:47 2007 +1000 [POWERPC] PS3: Save os-area params to device tree Add the PS3 os-area startup params to the device tree. This allows a second stage kernel loaded with kexec to use these values. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit d7b98e3dd87b4512462f6cdfe646a8e59673e62e Author: Geoff Levand Date: Sun Oct 7 07:35:46 2007 +1000 [POWERPC] PS3: Add os-area rtc_diff set/get routines Updates for PS3 os-area rtc_diff set/get routines o Add a new routine ps3_os_area_set_rtc_diff(). o Rename ps3_os_area_rtc_diff() to ps3_os_area_get_rtc_diff(). o Remove static variable rtc_shift with calls to ps3_os_area_get_rtc_diff(). Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 418ef2094eb8b0916d6cbda10e2ab857b9f64d97 Author: Geoff Levand Date: Sun Oct 7 07:35:45 2007 +1000 [POWERPC] PS3: os-area workqueue processing Add a workqueue to the PS3 os-area support. This is needed to support writing updates to flash memory and to update the /proc device tree entries from the timer tick interrupt context. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 01263e88c3b8c4ec9621062a40b42814e0859e92 Author: Geoff Levand Date: Sun Oct 7 07:35:44 2007 +1000 [POWERPC] PS3: Remove unused os-area params Updates for PS3 os-area startup params o Remove some unused PS3 os-area startup params from struct saved_params. o Rename ps3_os_area_init() to ps3_os_area_save_params(). o Zero mirrored header after saving params. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ca94297f0c169710848a095a2fd986195e546cb3 Author: Geoff Levand Date: Sun Oct 7 07:35:43 2007 +1000 [POWERPC] PS3: Cleanup of os-area.c Minor cleanup of the PS3 file os-area.c: o Correct file text header. o Add type names enum os_area_ldr_format, enum os_area_boot_flag, enum os_area_ctrl_button. o Change struct os_area_header.magic_num type to u8. o Add preprocessor macro SECONDS_FROM_1970_TO_2000. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit d767efe30f42c9e827ac1f452762f55b2d8fbdb3 Author: Benjamin Herrenschmidt Date: Thu Oct 4 15:40:43 2007 +1000 [POWERPC] cell: Add Cell memory controller register defs and expose it This adds definitions for the Cell memory controller registers (at least some of them) for use by the EDAC driver for ECC error reporting. It also expose the said MIC as a platform device that can be used by the EDAC driver to match on. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit eef686a0095430bdd6c1942f86dd2b543e66679f Author: Benjamin Herrenschmidt Date: Thu Oct 4 15:40:42 2007 +1000 [POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h The new Cell EDAC driver needs that file, oprofile also does ugly path tricks to get to it, it's time to move it to asm-powerpc. While at it, rename it to be consistent with cell-pmu.h (and dashes look nicer than underscores anyway). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 105c13dd7a29fe2d18643b851d7f1c1cbc4315ed Author: Grant Likely Date: Thu Oct 4 14:05:01 2007 +1000 [POWERPC] Enable debug info on boot wrapper Add '-g' to BOOTCFLAGS if CONFIG_DEBUG_INFO is set. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 6ee0d9f744d4417f20aabd9a4e40fac93f2c9d76 Author: Paul Mackerras Date: Thu Oct 4 13:47:06 2007 +1000 [POWERPC] Remove unused old code from powermac setup code Since bootdevice never gets initialized, it's always NULL, and hence a whole pile of code in arch/powerpc/platforms/setup.c never gets used. (This was the code that originally was there so that the automatic root partition selection mechanism would prefer a rootish-looking partition on the device that OF loaded the kernel from over a similar partition on other devices.) This removes the unused code. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt commit d7418031cf10fe82e16aa2057a702a2d1dab6f4a Author: Stephen Rothwell Date: Thu Oct 4 12:00:28 2007 +1000 [POWERPC] Remove some more section mismatch warnings WARNING: vmlinux.o(.text+0x2ff5c): Section mismatch: reference to .init.text:.pmac_find_ide_boot (between '.note_bootable_part' and '.note_scsi_host') >From holly_defconfig: WARNING: vmlinux.o(.text+0x164fe): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') WARNING: vmlinux.o(.text+0x16506): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') >From linkstation_defconfig: WARNING: vmlinux.o(.text+0x158fe): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') WARNING: vmlinux.o(.text+0x15906): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') >From mpc7448_hpc2_defconfig: WARNING: vmlinux.o(.text+0x1583e): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') WARNING: vmlinux.o(.text+0x15846): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') >From pmac32_defconfig: WARNING: vmlinux.o(.text+0x154ca): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'note_scsi_host') WARNING: vmlinux.o(.text+0x154d2): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'note_scsi_host') WARNING: vmlinux.o(.text+0x1553c): Section mismatch: reference to .init.text:pmac_find_ide_boot (between 'note_bootable_part' and 'note_scsi_host') >From ppc64_defconfig: WARNING: vmlinux.o(.text+0x3acdc): Section mismatch: reference to .init.text:.pmac_find_ide_boot (between '.note_bootable_part' and '.note_scsi_host') >From prpmc2800_defconfig: WARNING: vmlinux.o(.text+0x1611e): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') WARNING: vmlinux.o(.text+0x16126): Section mismatch: reference to .init.data:boot_command_line (between 'note_bootable_part' and 'find_via_pmu') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 84fdde5af1eca5ff170d1dff7e2681b0a50a9ecb Author: Paul Mackerras Date: Wed Oct 3 14:41:15 2007 +1000 [POWERPC] Use cache-inhibited large page bit from firmware Discussions with firmware architects have confirmed that the bit in the ibm,pa-features property that indicates support for cache-inhibited large (>= 64kB) page mappings does in fact mean that the hypervisor allows 64kB mappings to I/O devices. Thus we can now enable the code that tests that bit and sets our CPU_FTR_CI_LARGE_PAGE feature bit. Signed-off-by: Paul Mackerras commit cd6eed3718b1b32c60a6ee5658ae6341de3177d9 Author: Stephen Rothwell Date: Fri Sep 21 18:08:17 2007 +1000 [POWERPC] Prepare to remove of_platform_driver name The name field of of_platform_driver is just copied into the included device_driver. By not overriding an already initialised device_driver name, we can convert the drivers over time to stop using the of_platform_driver name. Also we were not copying the owner field from of_platform_driver, so do the same with it. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7d6524f035e25fc3abd806f62e5345f911b9d10a Author: Stephen Rothwell Date: Fri Sep 21 14:36:47 2007 +1000 [POWERPC] iSeries: Correct missing newline in printk Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit cb0f3fe08d4718cfe6cf7b50d0fb2732e5e5459d Author: Paul Mundt Date: Tue Oct 9 15:56:24 2007 +0900 sh64: mach-cayman: Build fixes. Signed-off-by: Paul Mundt commit 7b523c9e0886809a7dd100dd79e0a018c454da7a Author: Paul Mundt Date: Tue Oct 9 15:55:40 2007 +0900 sh64: Symbol export fixups. Kill off the __div_table reference, modern compilers don't have it, and old compilers can't build the sh64 kernel anyways. __copy_user also needs to be exported to satisfy module builds. Signed-off-by: Paul Mundt commit 3f7a0ce3b7db6906275eff042c9562aa8baf8487 Author: Paul Mundt Date: Tue Oct 9 15:53:16 2007 +0900 sh64: linker script tidying and alignment fixups. Use more of the generic section helpers, and get the alignment for some of the sections reduced. Follows the sh change. Signed-off-by: Paul Mundt commit 0f1d884d3aad334dc603303b7cc2a79aae9b2057 Author: Paul Mundt Date: Tue Oct 9 15:52:06 2007 +0900 sh64: Set KBUILD_IMAGE to make the rpm target happy. Signed-off-by: Paul Mundt commit d78ffa0dcc2584b0ec35bdb6e585d092359ee74f Author: Paul Mundt Date: Tue Oct 9 15:51:06 2007 +0900 sh64: Kill off obsolete linux/blk.h reference. This is just dead code, kill it off.. Reported-by: Robert P. J. Day Signed-off-by: Paul Mundt commit 63482aaadacbc7e125d672bf8d8f2d39c13a49ed Author: Paul Mundt Date: Tue Oct 9 15:23:02 2007 +0900 sh: Discard .exit.text/.exit.data at runtime. These were previously discarded at link time, though as with MIPS we keep them around until runtime to satisfy .rodata references. Signed-off-by: Paul Mundt commit 3497337946415849a2e4473ec2e9f0d2a6624b23 Author: Paul Mundt Date: Tue Oct 9 15:20:53 2007 +0900 sh: Fix up some section alignments in linker script. With the PERCPU() macro introduction .data.cacheline_aligned was inhereting PAGE_SIZE alignment, fix that up for L1_CACHE_BYTES again. Likewise, the initramfs section wants PAGE_SIZE alignment. Signed-off-by: Paul Mundt commit dcccb37e98e0444b0c6a03b303855771aa463c96 Author: Grant Likely Date: Mon Oct 8 01:24:22 2007 -0600 [POWERPC] Lite5200: Use comma delimiter format for lists in device tree DTC now supports "foo","bar" format for lists of strings; use the new format on the lite5200 device trees. Signed-off-by: Grant Likely Signed-off-by: Kumar Gala commit 082ea86fce463f8c2f1ce059cc959f21dc1ef24a Author: Peter Korsgaard Date: Sat Oct 6 22:06:40 2007 +0200 [POWERPC] spi: Support non-QE processors On non-QE processors (mpc831x/mpc834x) the SPI clock is the SoC clock. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 803dedb60849a8e4ec38e66ca41f51188c18a87d Author: Anton Vorontsov Date: Fri Oct 5 21:46:47 2007 +0400 [POWERPC] 85xx: mpc85xx_mds - reset UCC ethernet properly Apart from that the current code doesn't compile it's also meaningless with regard to the MPC8568E-MDS' BCSR. This patch used to reset UCCs properly. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit af6521ea8af210fea094b183a9ad29ab73945ee1 Author: Anton Vorontsov Date: Fri Oct 5 21:46:53 2007 +0400 [POWERPC] 85xx: mpc8568mds - update dts to be able to use UCCs 1. UCC1's RX_DV pin is 16, not 15; 2. UCC1's phy is at 0x7, not 0x1. Schematics says 0x7, and recent u-boot also using 0x7. 3. Use gianfar's (eTSEC) mdio bus. This is hardware default setup. 4. tx-clock should be CLK16 (GE125, PB31); 5. phy-connection-type is RGMII-ID; Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 321872dcc07f83f9b60af1be41c6bafbaddf9bf6 Author: Anton Vorontsov Date: Fri Oct 5 21:47:09 2007 +0400 [POWERPC] QE: pario - support for MPC85xx layout 8 bytes padding required to match MPC85xx registers layout. Signed-off-by: Anton Vorontsov Reviewed-by: Kim Phillips Signed-off-by: Kumar Gala commit cccd21027c17c27ad275093c22475354b4495814 Author: Anton Vorontsov Date: Fri Oct 5 21:47:29 2007 +0400 [POWERPC] QEIC: Implement pluggable handlers, fix MPIC cascading set_irq_chained_handler overwrites MPIC's handle_irq function (handle_fasteoi_irq) thus MPIC never gets eoi event from the cascaded IRQ. This situation hangs MPIC on MPC8568E. To solve this problem efficiently, QEIC needs pluggable handlers, specific to the underlaying interrupt controller. Patch extends qe_ic_init() function to accept low and high interrupt handlers. To avoid #ifdefs, stack of interrupt handlers specified in the header file and functions are marked 'static inline', thus handlers are compiled-in only if actually used (in the board file). Another option would be to lookup for parent controller and automatically detect handlers (will waste text size because of never used handlers, so this option abolished). qe_ic_init() also changed in regard to support multiplexed high/low lines as found in MPC8568E-MDS, plus qe_ic_cascade_muxed_mpic() handler implemented appropriately. Signed-off-by: Anton Vorontsov Acked-by: Benjamin Herrenschmidt Signed-off-by: Kumar Gala commit 55f9ed0f6a3af19b5b5cc633eced658723bd3395 Author: Anton Vorontsov Date: Fri Oct 5 21:47:38 2007 +0400 [POWERPC] mpc85xx_mds: select QUICC_ENGINE Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 090fe850f9520eaedf6de50877e0c5b95349f225 Author: Timur Tabi Date: Tue Oct 2 16:27:13 2007 -0500 [POWERPC] 86xx: update immap_86xx.h for the 8610 Update the definition of the global utilities structure (ccsr_guts) in immap_86xx.h and add some related macros for the Freescale 8610 SOC. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit e1c1575f831ab2165732037e6d664010a0149730 Author: Kumar Gala Date: Thu Oct 4 01:04:57 2007 -0500 [POWERPC] 85xx/86xx: refactor RSTCR reset code On the majority of 85xx & 86xx we have a register that's ability to assert HRESET_REQ to reset the board. We refactored that code so it can be shared between both platforms into fsl_soc.c and removed all the duplication in each platform directory. Signed-off-by: Kumar Gala commit c9438affcb7ac0dda4c6c6961637fb272f7c32d4 Author: Kumar Gala Date: Thu Oct 4 00:28:43 2007 -0500 [POWERPC] Use for_each_ matching routinues for pci PHBs On the Freescale embedded (83xx, 85xx, 86xx) and a few of the discrete bridges (mpc10x, tsi108) use the new for_each_compatible_node() or for_each_node_by_type() to provide more exact matching when looking for PHBs in the device tree. With the previous code it was possible to match on pci bridges since we were only matching on device_type. Signed-off-by: Kumar Gala commit 2fce1225af6f2d3bb9ffb4e6253400db61278594 Author: Kumar Gala Date: Wed Oct 3 23:37:33 2007 -0500 [POWERPC] FSL: Access PCIe LTSSM register with correct size The LTSSM register is actual 32-bits wide so we should be doing a dword access. Signed-off-by: Kumar Gala commit 873553b3d6b3b19f187a5630300ece20bbf74afd Author: Dale Farnsworth Date: Wed Oct 3 12:01:40 2007 -0700 [POWERPC] 85xx: Failure with odd memory sizes and CONFIG_HIGHMEM The CONFIG_FSL_BOOKE mmu setup code fails when CONFIG_HIGHMEM=y and the 3 fixed TLB entries cannot exactly map the lowmem size. Each TLB entry can map 4MB, 16MB, 64MB or 256MB, so the failure is observed when the kernel lowmem size is not equal to the sum of up to 3 of those values. Normally, memory is sized in nice numbers, but I observed this problem while testing a crash dump kernel. The failure can also be observed by artificially reducing the kernel's main memory via the mem= kernel command line parameter. This commit fixes the problem by setting __initial_memory_limit in adjust_total_lowmem(). Signed-off-by: Dale Farnsworth Signed-off-by: Kumar Gala commit 0e65bfe34c1000581746b9889d095241c4cf4a5c Author: Xianghua Xiao Date: Wed Oct 3 15:09:33 2007 -0500 [POWERPC] Add initial MPC8610 HPCD Platform files. Add basic board support for the MPC8610 HPCD. This does not include any support the SoC Display or Audio controllers. Signed-off-by: Xianghua Xiao Signed-off-by: Jason Jin Signed-off-by: Jon Loelier Signed-off-by: Kumar Gala commit 61c5d3cde10689867b86c8352aa0295637e941cb Author: Jason Jin Date: Wed Oct 3 15:09:50 2007 -0500 [POWERPC] Treat 8610 PCIe host bridge as transparent Signed-off-by: Jason Jin Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 53f3945a160af9a2282b9fad0f6ccde25e4ed805 Author: Xianghua Xiao Date: Wed Oct 3 15:09:15 2007 -0500 [POWERPC] Add initial MPC8610 HPCD Device Tree Source file. Signed-off-by: Xianghua Xiao Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit f023dc769c47b9158d897ee8a0278bdfe39b0115 Author: Peter Korsgaard Date: Wed Oct 3 18:29:09 2007 +0200 [POWERPC] spi: mode should be "cpu-qe" instead of "qe" Mode should be "cpu-qe" for QE in CPU mode. "qe" should be reserved for native QE mode. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 33799e337997284a4b845743fc43af52f66babd7 Author: Peter Korsgaard Date: Wed Oct 3 17:44:58 2007 +0200 [POWERPC] spi: Use fsl_spi instead of mpc83xx_spi According to booting-without-of.txt, compatible should be "fsl_spi" and mode "cpu" or "qe" for the fsl SPI controllers. Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 6b0b594bb81f86dbc7b0829ee5102abaab242913 Author: Timur Tabi Date: Wed Oct 3 11:34:59 2007 -0500 [POWERPC] qe: miscellaneous code improvements and fixes to the QE library This patch makes numerous miscellaneous code improvements to the QE library. 1. Remove struct ucc_common and merge ucc_init_guemr() into ucc_set_type() (every caller of ucc_init_guemr() also calls ucc_set_type()). Modify all callers of ucc_set_type() accordingly. 2. Remove the unused enum ucc_pram_initial_offset. 3. Refactor qe_setbrg(), also implement work-around for errata QE_General4. 4. Several printk() calls were missing the terminating \n. 5. Add __iomem where needed, and change u16 to __be16 and u32 to __be32 where appropriate. 6. In ucc_slow_init() the RBASE and TBASE registers in the PRAM were programmed with the wrong value. 7. Add the protocol type to struct us_info and updated ucc_slow_init() to use it, instead of always programming QE_CR_PROTOCOL_UNSPECIFIED. 8. Rename ucc_slow_restart_x() to ucc_slow_restart_tx() 9. Add several macros in qe.h (mostly for slow UCC support, but also to standardize some naming convention) and remove several unused macros. 10. Update ucc_geth.c to use the new macros. 11. Add ucc_slow_info.protocol to specify which QE_CR_PROTOCOL_xxx protcol to use when initializing the UCC in ucc_slow_init(). 12. Rename ucc_slow_pram.rfcr to rbmr and ucc_slow_pram.tfcr to tbmr, since these are the real names of the registers. 13. Use the setbits, clrbits, and clrsetbits where appropriate. 14. Refactor ucc_set_qe_mux_rxtx(). 15. Remove all instances of 'volatile'. 16. Simplify get_cmxucr_reg(); 17. Replace qe_mux.cmxucrX with qe_mux.cmxucr[]. 18. Updated struct ucc_geth because struct ucc_fast is not padded any more. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 6039680705906f270411435c05c869ac4f59ef10 Author: Kumar Gala Date: Wed Oct 3 10:43:10 2007 -0500 [POWERPC] Update .gitignore for new vdso generated files We now generate vdso[32,64].so.dbg as part of the build so add them to .gitignore Signed-off-by: Kumar Gala commit 86a04d9c850787040ba63261cfa5eb9a48b58e5a Author: Kumar Gala Date: Tue Oct 2 09:51:32 2007 -0500 [POWERPC] Fixup MPC8568 dts The PCI nodes on the MPC8568 dts didn't get moved up to be sibilings of the SOC node when we did that clean up for some reason. Fix that up and some minor whitespace and adjusting the size of the soc reg property. Signed-off-by: Kumar Gala commit 5d9df8eeacec943c9599f1cfd1069bc8cced3de6 Author: Adrian McMenamin Date: Mon Oct 8 05:19:36 2007 +0900 sh: Fix SH-4 DMAC CHCR masking. This patch fixes the DMA cascade by masking the correct bits. Tested and working with Dreamcast PVR2 DMA. With this patch applied the existing mainline code in arch/sh/drivers/dma/dma-sh.c works, whereas before I was patching that to get round this problem. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 8fb870df5a1f261294b833dd807bcba3bacface6 Author: David Woodhouse Date: Sat Oct 6 15:12:58 2007 -0400 [JFFS2] Trigger garbage collection when very_dirty_list size becomes excessive With huge amounts of free space, we weren't bothering to GC for while a while, and pathological numbers of obsolete nodes were accumulating, seriously affecting performance on NAND flash (OLPC trac #3978) Signed-off-by: David Woodhouse commit 49defc015ff58fda46a3afa3462dfdfa69bc8401 Author: David Woodhouse Date: Sat Oct 6 15:01:59 2007 -0400 [MTD] [NAND] Avoid deadlock in erase callback; release chip lock first. When the erase callback performs some other action on the flash, it's highly likely to deadlock unless we actually release the chip lock before calling it. Signed-off-by: David Woodhouse commit 1fcf8ce51e7acc4b66904c4e159690c9467606b5 Author: David Woodhouse Date: Sat Oct 6 14:59:32 2007 -0400 [MTD] [NAND] Resume method for CAFÉ NAND controller Originally from Marcelo; modified to put the original timing registers back instead of 0xFFFFFFFF. Signed-off-by: David Woodhouse commit 06ed24e5773346eb13579a4ae9599502bc78e4f7 Author: David Woodhouse Date: Sat Oct 6 14:44:12 2007 -0400 [MTD] [NAND] Fix PCI ident table for CAFÉ NAND controller. It was only the very early prototypes which made the mistake of using the same device ident for all three functions on the device -- don't bother trying to express that in the PCI match table, since the tools don't cope. We can check in the probe routine instead, just in case. Also remember to terminate the table. Signed-off-by: David Woodhouse commit 39fd179a7bfca026a269724a1f4ee5eb3f10419a Merge: 49dc08e... b7a7018... Author: David Woodhouse Date: Sat Oct 6 13:22:26 2007 -0400 Merge branch 'master' of ssh://git.infradead.org/srv/git/mtd-2.6 commit 599473cf15a3fae78cbc3192cfb38ca04d5abc72 Author: Nicolas Pitre Date: Wed Oct 3 15:32:57 2007 -0400 sdio: make the IRQ thread more resilient in the presence of bad states Currently we print a message about some bad states wrt function IRQ handlers but return 0 from process_sdio_pending_irqs() nevertheless. This can lead to an infinite loop as nothing might have cleared the condition for the pending card interrupt from the host controller by the time host->ops->enable_sdio_irq(host, 1) is called. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 3e01e4bcdd56209e70c39293e0c4c355d09364b8 Author: Nicolas Pitre Date: Wed Oct 3 15:32:10 2007 -0400 sdio: fix IRQ diagnostic message If func is actually null we won't get much from sdio_func_id(func). Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 562d94d98f7032bdc4a99d9124a78a543dbea225 Author: Mark Langsdorf Date: Fri Aug 3 14:09:05 2007 -0500 [CPUFREQ] Support different families in fid/did to frequency conversion The equation to find the frequency given the fid and did is family dependant. Acked-by: Mark Langsdorf Signed-off-by: Joachim Deguara Signed-off-by: Dave Jones commit 55395ae72b6e5ae614d28df74158c47454652583 Author: Satyam Sharma Date: Tue Oct 2 13:28:15 2007 -0700 [CPUFREQ] cpufreq_stats: misc cpuinit section annotations * Stop referencing the callback directly from the __init and __exit functions of this driver, and instead explicitly call cpufreq_update_policy() et al. This enables the callback function to be marked as __cpuinit (and the notifier_block __cpuinitdata), thereby saving space when HOTPLUG_CPU=n. This also enables us to use other tricks to replace __cpuinit{data} in future. * cpufreq_stats_free_table() is only called from __cpuinit or __exit marked functions, making it an ideal candidate for __cpuexit. * Fix missing space in the module description Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 6070b5de50ab5e3f810628a9cbb04deecf30a85f Author: Satyam Sharma Date: Tue Oct 2 13:28:15 2007 -0700 [CPUFREQ] implement !CONFIG_CPU_FREQ stub for cpufreq_unregister_notifier() Callsites such as arch/powerpc/oprofile/op_model_cell.c are having to open-code #ifdef CONFIG_CPU_FREQ only to be able to get at the full definition of cpufreq_unregister_notifier(), because no empty stub is available for the !CONFIG_CPU_FREQ case. Let's provide one, to be able to remove such #ifdef's from the rest of the kernel tree -- those will come in a subsequent patch. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit dd184a01b8ece6bac2f7a63de99a4a4d29552746 Author: Satyam Sharma Date: Tue Oct 2 13:28:14 2007 -0700 [CPUFREQ] mark hotplug notifier callback as __cpuinit The notifier_block is already __cpuinitdata, thereby allowing us to safely mark the callback function as __cpuinit also, thereby saving space when HOTPLUG_CPU=n. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 6afde10c3f58cc3ac593f5b4505b8b1cf719f5d6 Author: Thomas Renninger Date: Tue Oct 2 13:28:13 2007 -0700 [CPUFREQ] Only check for transition latency on problematic governors (kconfig fix) Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 1c2562459faedc35927546cfa5273ec6c2884cce Author: Thomas Renninger Date: Tue Oct 2 13:28:12 2007 -0700 [CPUFREQ] allow ondemand and conservative cpufreq governors to be used as default Depending on the transition latency of the HW for cpufreq switches, the ondemand or conservative governor cannot be used with certain cpufreq drivers. Still the ondemand should be the default governor on a wide range of systems. This patch allows this and lets the governor fallback to the performance governor at cpufreq driver load time, if the driver does not support fast enough frequency switching. Main benefit is that on e.g. installation or other systems without userspace support a working dynamic cpufreq support can be achieved on most systems by simply loading the cpufreq driver. This is especially essential for recent x86(_64) laptop hardware which may rely on working dynamic cpufreq OS support. Signed-off-by: Thomas Renninger Signed-off-by: Venkatesh Pallipadi Cc: Russell King Cc: Bryan Wu Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 8122c6cea033e8034e99d3b10a4e3f377ce23994 Author: Thomas Renninger Date: Tue Oct 2 13:28:09 2007 -0700 [CPUFREQ] move policy's governor initialisation out of low-level drivers into cpufreq core Signed-off-by: Thomas Renninger Signed-off-by: Venkatesh Pallipadi Cc: Russell King Cc: Bryan Wu Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit a09d60a622ea4a3592dc6836e709d4a7a4ed4025 Author: Rafał Bilski Date: Wed Sep 26 17:08:14 2007 +0200 [CPUFREQ] Longhaul - Add support for PM133 northbridge Add support for PM133 northbridge. Tested by Sylvain Ferrand. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit c925401b6dc2229adbb15b2f3c9f0f2d9253a5d5 Author: Yinghai Lu Date: Wed Aug 22 18:44:20 2007 -0700 [CPUFREQ] x86: use num_online_nodes to get physical cpus numbers for powernow_k8 [PATCH] x86: use num_online_nodes to get physical cpus numbers for powernow_k8 For opteron based system, don't assume all physical cpus have the same booted cpus even same cores. esp for downcore case. Signed-off-by: Yinghai Lu Signed-off-by: Dave Jones commit 6b9c67681b8d08301cdc31b0503023e0208cc1d8 Author: Anton Vorontsov Date: Tue Oct 2 17:48:07 2007 +0400 [POWERPC] mpc8568mds.dts: fix PCIe I/O address space location and size According to u-boot/board/mpc8568mds/init.S: LAW(Local Access Window) configuration: 2) 0xa000_0000 0xbfff_ffff PCIe MEM 512MB 4) 0xe280_0000 0xe2ff_ffff PCIe I/O 8M Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit c0e4eb2d8a8a094db5295a42d84aef08dea8aea4 Author: Anton Vorontsov Date: Tue Oct 2 17:47:43 2007 +0400 [POWERPC] MPC8568E-MDS: add support for ds1374 rtc MPC8568E-MDS have DS1374 chip on the I2C bus, thus let's use it. This patch also adds #address-cells and #size-cells to the I2C controllers nodes. p.s. DS1374 rtc class driver is in the -mm tree, its name is rtc-rtc-class-driver-for-the-ds1374.patch. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit da1bb3a0e1f7f9cabe70fb2c41b47fa57c42fdfd Author: Anton Vorontsov Date: Tue Oct 2 17:47:40 2007 +0400 [POWERPC] fsl_soc: fix uninitialized i2c_board_info structure i2c_board_info used semi-initialized, causing garbage in the info->flags, and that, in turn, causes various symptoms of i2c malfunctioning, like PEC mismatches. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 15f8c604a79c4840ed76eecf3af5d88b7c1dee9e Author: Scott Wood Date: Fri Sep 28 14:06:16 2007 -0500 [POWERPC] cpm: Describe multi-user ram in its own device node. The way the current CPM binding describes available multi-user (a.k.a. dual-ported) RAM doesn't work well when there are multiple free regions, and it doesn't work at all if the region doesn't begin at the start of the muram area (as the hardware needs to be programmed with offsets into this area). The latter situation can happen with SMC UARTs on CPM2, as its parameter RAM is relocatable, u-boot puts it at zero, and the kernel doesn't support moving it. It is now described with a muram node, similar to QE. The current CPM binding is sufficiently recent (i.e. never appeared in an official release) that compatibility with existing device trees is not an issue. The code supporting the new binding is shared between cpm1 and cpm2, rather than remain separated. QE should be able to use this code as well, once minor fixes are made to its device trees. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 3c5df5c26ed17828760945d59653a2e22e3fb63f Author: Kumar Gala Date: Thu Sep 27 08:43:35 2007 -0500 [POWERPC] Cleaned up whitespace in head_fsl_booke.S Signed-off-by: Kumar Gala commit b6927bca245f83879bcb319aa108a1a347e36d8f Author: Emil Medve Date: Wed Sep 26 12:03:40 2007 -0500 [POWERPC] QE: Added missing CEURNR register According to the publicly available MPC8360E RM (rev. 1 from 09/2006 and rev. 2 from 05/2007) and MPC8323E RM (rev. 1 from 09/2006), CEURNR is the QE microcode revision number register and is located at offset 0x1b8 within the QE internal register space Signed-off-by: Emil Medve Signed-off-by: Kumar Gala commit 0438c28fa40c1145e8322f91feb9e6fed3301d94 Author: Peter Korsgaard Date: Thu Sep 20 12:42:13 2007 +0200 [POWERPC] fsl_soc: rtc-ds1307 support Add support for the I2C devices handled by the rtc-ds1307 driver to of_register_i2c_devices. Cc: G. Liakhovetski Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 210805e219f781d0a0efbdbe41d59f6fccef529c Author: Peter Korsgaard Date: Thu Sep 20 12:42:12 2007 +0200 [POWERPC] fsl_soc: Fix trivial printk typo. Fix a trivial printk typo in fsl_soc. Cc: G. Liakhovetski Signed-off-by: Peter Korsgaard Signed-off-by: Kumar Gala commit 5dd57a1308a7e40e04fb6ecbff170df7a0b92cd8 Author: Scott Wood Date: Tue Sep 18 15:29:35 2007 -0500 [POWERPC] 8xx: Move softemu8xx.c from arch/ppc Previously, Soft_emulate_8xx was called with no implementation, resulting in build failures whenever building 8xx without math emulation. The implementation is copied from arch/ppc to resolve this issue. However, this sort of minimal emulation is not a very good idea other than for compatibility with existing userspaces, as it's less efficient than soft-float and can mislead users into believing they have soft-float. Thus, it is made a configurable option, off by default. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit c4e05bc57dd14294683cdea7fe36ce3c01f5c6ae Author: Roy Zang Date: Mon Sep 24 18:31:55 2007 +0800 [POWERPC] bootwrapper: adds cuboot for MPC7448HPC2 platform This patch adds cuboot support for MPC7448HPC2 platform. The cuImage can be used with legacy u-boot without FDT support. Signed-off-by: Roy Zang Acked-by: David Gibson Signed-off-by: Kumar Gala commit 3611f2ad424094655d381f099613a6f43239824d Author: Scott Wood Date: Wed Sep 5 14:00:54 2007 -0500 [POWERPC] mpc82xx: Add pq2fads board support. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit e00c5498a2a614931cbb7d88a53979d5d47594e1 Author: Scott Wood Date: Fri Sep 14 15:41:56 2007 -0500 [POWERPC] mpc82xx: Update mpc8272ads, and factor out PCI and reset. 1. PCI and reset are factored out into pq2.c. I renamed them from m82xx to pq2 because they won't work on the Integrated Host Processor line of 82xx chips (i.e. 8240, 8245, and such). 2. The PCI PIC, which is nominally board-specific, is used on multiple boards, and thus is used into pq2ads-pci-pic.c. 3. The new CPM binding is used. 4. General cleanup. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 11c146cc19df337f4af42dade9e4fca33c5a54ee Author: Scott Wood Date: Fri Sep 14 14:58:25 2007 -0500 [POWERPC] 8xx/wrapper: Embedded Planet EP88xC support This board is also resold by Freescale under the names "QUICCStart MPC885 Evaluation System" and "CWH-PPC-885XN-VE". Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 20906ecea2004c0667c8b229ac6461d16ea6bde3 Author: Scott Wood Date: Fri Sep 14 14:38:16 2007 -0500 [POWERPC] 8xx: mpc885ads cleanup It now uses the new CPM binding and the generic pin/clock functions, and has assorted fixes and cleanup. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 96fca1dea8f32e96668d55727d66416fdd67360b Author: Scott Wood Date: Fri Sep 14 13:24:02 2007 -0500 [POWERPC] Document local bus nodes in the device tree, and update cuboot-pq2. The localbus node is used to describe devices that are connected via a chip select or similar mechanism. The advantages over placing the devices under the root node are that it can be probed without probing other random things under the root, and that the description of which chip select a given device uses can be used to set up mappings if the firmware failed to do so in a useful manner. cuboot-pq2 is updated to match the binding; previously, it called itself chipselect rather than localbus, and used phandle linkage between the actual bus node and the control node (the current agreement is to simply use the fully-qualified address of the control registers, and ignore the overlap with the IMMR node). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 2d2294ae12827a97c9daa253f1ce99e7ae3195d7 Author: Scott Wood Date: Thu Jul 26 13:52:28 2007 -0500 [POWERPC] mpc8272ads: Change references from 82xx_ADS to 8272_ADS. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit d1df447197b11e70d451786be8aebf2f8606754e Author: Scott Wood Date: Thu Jul 26 13:51:42 2007 -0500 [POWERPC] mpc82xx: Rename mpc82xx_ads to mpc8272_ads. This is just a rename patch; internal references to mpc82xx_ads will be changed in the next one. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 4ff62e1c7f5263427e742069235d94ba1336960d Author: Scott Wood Date: Mon Aug 27 16:56:43 2007 -0500 [POWERPC] mpc82xx: Remove a bunch of cruft that duplicates generic functionality. m82xx_calibrate_decr(), mpc82xx_ads_show_cpuinfo(), and mpc82xx_halt() do anything useful beyond what the generic code does. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 11af1192b75307e4099dd962b3b97b255d5ab023 Author: Scott Wood Date: Fri Sep 14 15:32:14 2007 -0500 [POWERPC] mpc82xx: Define CPU_FTR_NEED_COHERENT The 8272 (and presumably other PCI PQ2 chips) appear to have the same issue as the 83xx regarding PCI streaming DMA. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 7f21f52940212c25b4387c2450018e161043549a Author: Scott Wood Date: Mon Jul 16 13:32:24 2007 -0500 [POWERPC] cpm2: Add cpm2_set_pin(). This provides a generic way for board code to set up CPM pins, rather than directly poking magic values into registers. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 2652d4ec4a363487d0106a8bf51f1b081dd7e397 Author: Scott Wood Date: Mon Jul 16 13:26:35 2007 -0500 [POWERPC] cpm2: Add SCCs to cpm2_clk_setup(), and cpm2_smc_clk_setup(). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 449012daa92a60e42f0d55478641cfa796d51528 Author: Scott Wood Date: Fri Sep 14 15:30:44 2007 -0500 [POWERPC] cpm2: Infrastructure code cleanup. Mostly sparse fixes (__iomem annotations, etc); also, cpm2_immr is used rather than creating many temporary mappings. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 6cc15e9fdce49e6b3d00eba4dfcdfbe1496f2114 Author: Paul Mundt Date: Thu Oct 4 19:52:32 2007 +0900 sh: Rip out left-over nommu cond syscall cruft. At some point way back when (2.5 or so) quite a few syscalls hadn't yet been wired up as cond_syscalls(), so we opted to just do direct sys_ni_syscall wrapping in the assembly code instead. That's all been fixed up since then, so we can drop the wrapping. Signed-off-by: Paul Mundt commit 544cdabe642e5508e784de709530a74d0775d070 Author: John Traill Date: Tue Jul 17 05:17:23 2007 +0400 [POWERPC] 8xx: Set initial memory limit. The 8xx can only support a max of 8M during early boot (it seems a lot of 8xx boards only have 8M so the bug was never triggered), but the early allocator isn't aware of this. The following change makes it able to run with larger memory. Signed-off-by: John Traill Signed-off-by: Vitaly Bordug Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 7401685242fbcbf4b0660726372c77a88c4af17d Author: Scott Wood Date: Mon Jun 25 14:50:41 2007 -0500 [POWERPC] 8xx: Work around CPU15 erratum. The CPU15 erratum on MPC8xx chips can cause incorrect code execution under certain circumstances, where there is a conditional or indirect branch in the last word of a page, with a target in the last cache line of the next page. This patch implements one of the suggested workarounds, by forcing a TLB miss whenever execution crosses a page boundary. This is done by invalidating the pages before and after the one being loaded into the TLB in the ITLB miss handler. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 663edbd2640447dc43840568cd5701e6c9878d63 Author: Scott Wood Date: Mon Jul 16 17:22:01 2007 -0500 [POWERPC] 8xx: Add pin and clock setting functions. These let board code set up pins and clocks without having to put magic numbers directly into the registers. The clock function is mostly duplicated from the cpm2 version; hopefully this stuff can be merged at some point. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit fb533d0c5a9783ecafa9a177bace6384c47282a9 Author: Scott Wood Date: Fri Sep 14 14:22:36 2007 -0500 [POWERPC] 8xx: Infrastructure code cleanup. 1. Keep a global mpc8xx_immr mapping, rather than constantly creating temporary mappings. 2. Look for new fsl,cpm1 and fsl,cpm1-pic names. 3. Always reset the CPM when not using the udbg console; this is required in case the firmware initialized a device that is incompatible with one that the kernel is about to use. 4. Remove some superfluous casts and header includes. 5. Change a usage of IMAP_ADDR to get_immrbase(). 6. Use phys_addr_t, not uint, for dpram_pbase. 7. Various sparse-related fixes, such as __iomem annotations. 8. Remove mpc8xx_show_cpuinfo, which doesn't provide anything useful beyond the generic cpuinfo handler. 9. Move prototypes for 8xx support functions from board files to sysdev/commproc.h. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit ccf0d68e835003f19d5a9463d5a8c1e092d3a31a Author: Scott Wood Date: Mon Jul 16 11:28:18 2007 -0500 [POWERPC] 8xx: Fix CONFIG_PIN_TLB. 1. Move CONSISTENT_START on 8xx so that it doesn't overlap the IMMR mapping. 2. The wrong register was being loaded into SPRN_MD_RPN. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit d948a29ea7a9514f588dafb61d5a6da68131c3ba Author: Scott Wood Date: Tue Jul 17 18:09:33 2007 -0500 [POWERPC] cpm_uart: Issue STOP_TX command before initializing console. This prevents some bootloader/bootwrapper characters from being lost. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit c1dcfd9d199043ff0e8805484a736ad36d9dd04a Author: Scott Wood Date: Tue Jul 24 15:53:07 2007 -0500 [POWERPC] cpm_uart: sparse fixes Mostly a bunch of direct access to in/out conversions, plus a few cast removals, __iomem annotations, and miscellaneous cleanup. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 7ae870368d198affa249ed3382a8a288167ce885 Author: Scott Wood Date: Tue Jul 17 17:59:06 2007 -0500 [POWERPC] cpm_uart: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set. The existing OF glue code was crufty and broken. Rather than fix it, it has been removed, and the serial driver now talks to the device tree directly. The non-CONFIG_PPC_CPM_NEW_BINDING code can go away once CPM platforms are dropped from arch/ppc (which will hopefully be soon), and existing arch/powerpc boards that I wasn't able to test on for this patchset get converted (which should be even sooner). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit a94b89a4813bddf85c052f8d04021688c5dfe0d7 Author: Scott Wood Date: Fri Aug 31 17:18:28 2007 -0500 [POWERPC] bootwrapper: Use fsl_get_immr() in cuboot-pq2.c. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit bbc6fac387f09e46a372e4aadbc935cba5a6b463 Author: Scott Wood Date: Mon Aug 27 13:46:38 2007 -0500 [POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions. fsl_get_immr() uses /soc/ranges to determine the immr. mpc885_get_clock() transforms a crystal frequency into a system frequency according to the PLL register settings. pq2_get_clocks() does the same as the above for the PowerQUICC II, except that it produces several different clocks. The mpc8xx/pq2 set_clocks() functions modify common properties in the device tree based on the given clock data. The mpc885/pq2 fixup_clocks() functions call get_clocks(), and pass the results to set_clocks(). Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Kumar Gala commit 568091512d464b06f17b88bfd2bdc1ec98a697bd Author: Scott Wood Date: Thu Aug 30 12:06:21 2007 -0500 [POWERPC] bootwrapper: Support all-in-one PCI nodes in cuboot-pq2. Consensus was reached to put PCI nodes at the root of the tree (and not under /soc), but the phandle to a control node was rejected in favor of simply not worrying about /pci/reg overlapping /soc/ranges. This updates cuboot-82xx to not look for the phandle. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Kumar Gala commit c374e00e17f1c10768d5af922a1ff33e43df2eb0 Author: Scott Wood Date: Mon Jul 16 11:43:43 2007 -0500 [POWERPC] Add early debug console for CPM serial ports. This code assumes that the ports have been previously set up, with buffers in DPRAM. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Kumar Gala commit e631ae3b164158fbf486fbed5adb597696c4f0e5 Author: Scott Wood Date: Fri Sep 14 13:04:54 2007 -0500 [POWERPC] Introduce new CPM device bindings. This introduces a new device binding for the CPM and other devices on these boards. Some of the changes include: 1. Proper namespace scoping for Freescale compatibles and properties. 2. Use compatible rather than things like device_type and model to determine which particular variant of a device is present. 3. Give the drivers the relevant CPM command word directly, rather than requiring it to have a lookup table based on device-id, SCC v. SMC, and CPM version. 4. Specify the CPCR and the usable DPRAM region in the CPM's reg property. Boards that do not require the legacy bindings should select CONFIG_PPC_CPM_NEW_BINDING to enable the of_platform CPM devices. Once all existing boards are converted and tested, the config option can become default y to prevent new boards from using the old model. Once arch/ppc is gone, the config option can be removed altogether. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Kumar Gala commit 6d817aa71fddea859ba02d1a0b326da930ce6b50 Author: Scott Wood Date: Wed Aug 29 15:08:40 2007 -0500 [POWERPC] CPM: Change from fsl,brg-frequency to brg/clock-frequency As suggested by David Gibson, now that we have a separate node for the baud rate generators, it's better to use the standard clock-frequency property than a cpm-node-level fsl,brg-frequency property. This patch updates existing places where fsl,brg-frequency is used. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 26f571d7c968dbd30656fc1421eeb0d9088aaad9 Author: Paul Mackerras Date: Thu Oct 4 11:02:09 2007 +1000 [PPC] Use cpu setup routines from cpu_setup_44x.S for ARCH=ppc Commit 8112753bb2c0045398c89d0647792b39805f6d40 made 44x in ARCH=powerpc builds use cpu setup routines in cpu_setup_44x.S, but didn't make a similar change for ARCH=ppc, and consequently the ARCH=ppc builds fail with undefined symbols (since both use the same cputable.c). This fixes it by including cpu_setup_44x.S in the ARCH=ppc builds, and by taking out the now-redundant FPU initialization in arch/ppc/kernel/head_44x.S. Signed-off-by: Paul Mackerras commit d6f8deecefc133cac044f6029bdb349a1cb8753a Author: Pierre Ossman Date: Sun Sep 30 12:47:05 2007 +0200 sdhci: remove old dma module params The forcedma and nodma module parameters can be replaced with the quirks parameter, so remove the redundancy. Signed-off-by: Pierre Ossman commit 7c168e3db7d900008ee304574057e0dc1a8505af Author: Feng Tang Date: Sun Sep 30 12:44:18 2007 +0200 sdhci: add SDHCI_QUIRK_BROKEN_DMA quirk Some controllers like ENE712 can't work properly with DMA mode, add this quirk to force these kinds of HW work with PIO mode Signed-off-by: Feng Tang Signed-off-by: Pierre Ossman commit 56e71efe44eb06ae1761f43cca70a5f3cc54c0fb Author: Feng Tang Date: Sat Sep 29 14:15:05 2007 +0800 sdhci: remove DMA capability check from controller's PCI Class reg Many host controllers don't fully follow the PCI spec to claim whether they support DMA in PCI class register. Leave the driver to judge it from the Capability register, quirks and module parameter Signed-off-by: Feng Tang Signed-off-by: Pierre Ossman commit 2df3b71b2746469b5b344cf7da5facecd4110cc9 Author: Nicolas Pitre Date: Sat Sep 29 10:46:20 2007 -0400 sdhci: fix a typo Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 5ae70296c85f96a9969891d9de3410ebdf210b71 Author: Philip Langdale Date: Sat Sep 15 12:54:08 2007 -0700 mmc: Disabler for Ricoh MMC controller Thanks to Matt Domsch and Rezwanul Kabir at Dell, we know how to disable the MMC controller on the multi-function Ricoh R5C832. The MMC controller needs to be disabled or it will steal MMC cards from the SD controller where they would otherwise be supported by the Linux SDHCI driver. Signed-off-by: Philipl Langdale Signed-off-by: Pierre Ossman commit e077b50c29a7e8be5812d1156934ea837b712ca6 Author: Grant Likely Date: Wed Oct 3 02:47:02 2007 +1000 [POWERPC] Uartlite: Revert register io access changes Reverts commit a15da8eff3627b8368db7f5dd260e5643213d918 This driver is used by devices other than the xilinx opb-uartlite which depend on bytewise access to the registers. The change to 32 bit access does not work on these devices. Signed-off-by: Grant Likely Acked-by: Peter Korsgaard Signed-off-by: Josh Boyer commit be1b4d34e3a379d20d50e75a95aa5c3f0c7cf612 Author: Grant Likely Date: Wed Oct 3 02:44:15 2007 +1000 [POWERPC] Uartlite: Add macros for register names Add macros to define register names to improve readability. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 69c9c94303e309c02cf4b3e671a46a34fd0c4b0b Author: Grant Likely Date: Mon Oct 1 07:47:05 2007 +1000 [POWERPC] Setup default eth addr in embed_config for Xilinx Virtex platforms This simply adds the boilerplate default Ethernet address to embed_config for the Xilinx platform (bug fix). Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit dc8afdc7ada82562231cbae867fe6dcdb7b677f5 Author: Grant Likely Date: Mon Oct 1 07:47:00 2007 +1000 [POWERPC] XilinxFB: Move xilinxfb_platform_data definition to a shared header file XilnixFB can be used by more than just arch/ppc. Move the data structure definition into include/linux/xilinxfb.h so it can be used by microblaze and arch/powerpc Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit bedfc8a040378cb51f46155c980d295c2c397203 Author: Grant Likely Date: Mon Oct 1 07:46:55 2007 +1000 [POWERPC] Uartlite: Flush RX fifo in bootwrapper Flush the uartlite RX fifo so that characters typed before entry into the zImage wrapper do not muck up the kernel command line. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 267b49a96e30f129600bdb4f3fa6d80d6dd42523 Author: Josh Boyer Date: Tue Oct 2 07:33:22 2007 -0500 [POWERPC] Add treeImage to .gitignore Tell git to ignore the generated treeImage.* files in arch/powerpc/boot Signed-off-by: Josh Boyer commit fb4e6e663b404ecdfac2e3f6e643d204488b28e9 Author: Grant Likely Date: Tue Oct 2 12:16:09 2007 +1000 [POWERPC] Uartlite: Let the console be initialized earlier By configuring it earlier we get console output sooner which is helpful for debugging when the kernel crashes before the serial drivers are initialized. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 852e1ea748e83eba7fdb1cc198f271837b16137b Author: Grant Likely Date: Tue Oct 2 12:16:04 2007 +1000 [POWERPC] Uartlite: Add of-platform-bus binding Add of_platform bus binding so this driver can be used with arch/powerpc Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 435706b385d1f5422e44ee86b5dec0a2150eca02 Author: Grant Likely Date: Tue Oct 2 12:15:59 2007 +1000 [POWERPC] Uartlite: Comment block tidy Tidy the comments to split the driver into logical section; the main driver, the console driver, the platform bus binding, and module initialization and teardown. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 8fa7b6100693e0b648ffd34564f6f41226502a19 Author: Grant Likely Date: Tue Oct 2 12:15:54 2007 +1000 [POWERPC] Uartlite: Separate the bus binding from the driver proper Separate the bus binding code from the driver structure allocation code in preparation for adding the of_platform_bus bindings needed by arch/powerpc Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 00775828e66124b4af54fafc393e5e89248802c9 Author: Grant Likely Date: Tue Oct 2 12:15:49 2007 +1000 [POWERPC] Uartlite: Add macro for uartlite device name Changed to make the following OF_platform bus binding patch a wee bit cleaner Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 483c79db95b56a9650bd6f0638e7366eb20ffc01 Author: Grant Likely Date: Tue Oct 2 12:15:44 2007 +1000 [POWERPC] Uartlite: change name of ports to ulite_ports Changed to match naming convention used in the rest of the module Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit a15da8eff3627b8368db7f5dd260e5643213d918 Author: Grant Likely Date: Tue Oct 2 12:15:39 2007 +1000 [POWERPC] Uartlite: Fix reg io to access documented register size The Uartlite data sheet defines the registers as 32 bit wide. This patch changes the register access to use 32 bit transfers and eliminates the magic +3 offset which is currently required to make the device work. Signed-off-by: Grant Likely Acked-by: John Williams Signed-off-by: Josh Boyer commit 260c02a9beddf4186a8c7549b2eec2f6c67f1151 Author: Grant Likely Date: Tue Oct 2 12:15:34 2007 +1000 [POWERPC] Add PowerPC Xilinx Virtex entry to maintainers Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 486ba7e6418b69143701f6772e8864d9299178b8 Author: Grant Likely Date: Tue Oct 2 12:15:29 2007 +1000 [POWERPC] Virtex: Add generic Xilinx Virtex board support Adds support for generic Xilinx Virtex boards. Any board which specifies "xilinx,virtex" in the compatible property will make use of this board support. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 4dc9783ea9e4d6f97e40b808991b324a4719a837 Author: Grant Likely Date: Tue Oct 2 12:15:23 2007 +1000 [POWERPC] Virtex: add xilinx interrupt controller driver Adds support for the Xilinx opb-intc interrupt controller Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 36660cef734e3c80c4379443781ed0b2fe3e1ffe Author: Grant Likely Date: Tue Oct 2 12:15:18 2007 +1000 [POWERPC] Virtex: Add Kconfig macros for Xilinx Virtex board support Add the needed kconfig macros to enable Xilinx Virtex board support Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 7ddc5f978b16c024b6c1fcecbda6815d3d3222ef Author: Grant Likely Date: Tue Oct 2 12:15:13 2007 +1000 [POWERPC] Virtex: Add uartlite bootwrapper driver Allows the bootwrapper to use the uartlite device for console output. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 340ffd267c85fc28da7cfd681b177c816af800cf Author: Valentine Barshak Date: Sat Sep 22 00:50:09 2007 +1000 [POWERPC] 4xx: 440EPx/GRx incorrect write to DDR SDRAM errata workaround Add a workaround for PowerPC 440EPx/GRx incorrect write to DDR SDRAM errata. Data can be written to wrong address in SDRAM when write pipelining enabled on plb0. We disable it in the cpu_setup for these processors at early init. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 8112753bb2c0045398c89d0647792b39805f6d40 Author: Valentine Barshak Date: Sat Sep 22 00:46:57 2007 +1000 [POWERPC] 4xx: Move 440EP(x) FPU setup from head_44x to cpu_setup_4xx The PowerPC 440EP(x) FPU init is currently done in head_44x under ifdefs. Since we should support more then one board in the same kernel, we move FPU initialization code from head_44x to cpu_setup_44x and add cpu_setup callbacks for 440EP(x). Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 84e3ad5b91ed51db7513a54ad7ed652ab0ca4ba1 Author: Valentine Barshak Date: Sat Sep 22 00:44:38 2007 +1000 [POWERPC] 4xx: Introduce cpu_setup functionality to 44x platform This adds cpu_setup functionality for ppc44x platform. Low level cpu-spefic initialization routines should be placed in cpu_setup_44x.S and a callback should be added to cputable. The cpu_setup is invoked by identify_cpu() function at early init. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 2e71cc0d51d8f0dd4532d88c8fffccc08ba7ecdb Author: Josh Boyer Date: Mon Sep 24 07:32:15 2007 -0500 [POWERPC] 4xx: Fix Walnut wrapper compile errors Pass the appropriate -mcpu flag to the treeboot-walnut.o object to prevent some toolchains from erroring out with unknown opcodes Signed-off-by: Josh Boyer commit 01bd5e9ef2ead97059a1930de43942bdfc9e8755 Author: Paul Mundt Date: Wed Oct 3 17:21:10 2007 +0900 sh: Make kgdb i-cache flushing less inept. kgdb had its own ranged I-cache flushing routine that attempted to duplicate the flush_icache_range() functionality, but managed to do an explicit D-cache writeback & invalidate twice on SH-4. This is a no-op for SH-3, and the flush_icache_range() semantics already do what kgdb was feebly attempting to do already, so just move over to that and kill off the wrapper. Signed-off-by: Paul Mundt commit a90f354709b372c8dcabe3cd6315a83da5927573 Author: Paul Mundt Date: Wed Oct 3 17:13:34 2007 +0900 sh: kgdb section mismatches and tidying. The kgdb console setup was callable from a left-over deferred initialization path, which in turn depends on __init symbols. Since the deferred initialization was removed some time ago, kill off the rest of those remnants and move kgdb_init() and friends to __init. Signed-off-by: Paul Mundt commit e1fb4552ac938f2f70e9df2169b681594752bd85 Author: Thomas Gleixner Date: Wed Oct 3 15:04:08 2007 +0900 sh: cleanup struct irqaction initializers. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 948d12cbc30b85dc9effbaaf506b2eeefaefea07 Author: Thomas Gleixner Date: Wed Oct 3 15:02:14 2007 +0900 sh64: cleanup struct irqaction initializers. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 1ad749980a5fda46f7ec920d8409ddcc89b38714 Author: Tony Breeds Date: Fri Sep 21 13:26:03 2007 +1000 [POWERPC] Enable tickless idle and high res timers for powerpc Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit d831d0b83f205888f4be4dee0a074ad67ef809b3 Author: Tony Breeds Date: Fri Sep 21 13:26:03 2007 +1000 [POWERPC] Implement clockevents driver for powerpc This registers a clock event structure for the decrementer and turns on CONFIG_GENERIC_CLOCKEVENTS, which means that we now don't need most of timer_interrupt(), since the work is done in generic code. For secondary CPUs, their decrementer clockevent is registered when the CPU comes up (the generic code automatically removes the clockevent when the CPU goes down). Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit ab3e975e7c8b5efb452bdb0d06c1cb7399f83979 Merge: 70f227d... b15773a... Author: Paul Mackerras Date: Wed Oct 3 15:33:38 2007 +1000 Merge branch 'ppc-fixes' of git://git.bocc.de/dbox2 into for-2.6.24 commit 70f227d8846a8a9b1f36f71c42e11cc7c6e9408d Merge: a0c7ce9... f778089... Author: Paul Mackerras Date: Wed Oct 3 15:33:17 2007 +1000 Merge branch 'linux-2.6' into for-2.6.24 commit a0c7ce9c877ceef8428798ac91fb794f83609aed Author: Tony Breeds Date: Wed Oct 3 11:19:09 2007 +1000 [POWERPC] Fix panic in RTAS code Some older pSeries machines were panicking in pSeries_log_error because it was getting called before it was ready. This is a result of commit "[POWERPC] pseries: Fix jumbled no_logging flag." (79c0108d1b9db4864ab77b2a95dfa04f2dcf264c). This fixes it by explicitly enabling RTAS error logging when it has been initialized, and also makes the code clearer by renaming the "no_more_logging" variable to "logging_enabled". Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 2d5f5659649924b86d527a2af2552bab741d1d6f Author: Linas Vepstas Date: Wed Oct 3 07:40:12 2007 +1000 [POWERPC] Use alloc_maybe_bootmem() in pcibios_alloc_controller Use alloc_maybe_bootmem() which wraps the if (mem_init_done) malloc clause. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit da0bd34e03b48f366a29e0ecdb24f8a0fe856d40 Author: Ishizaki Kou Date: Tue Oct 2 18:26:53 2007 +1000 [POWERPC] Celleb: update for PCI This adds support for the PCI bus on Celleb with new "I/O routines for PowerPC." External PCI on Celleb must do explicit synchronization with devices (Bus has no automatic synchronization feature). Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 86de9f5f5e663123a5a49c6fe39750bea3dba24c Author: Ishizaki Kou Date: Tue Oct 2 18:25:16 2007 +1000 [POWERPC] Celleb: Serial I/O update This is an update for Serial I/O on Celleb. - Detection algorithm has been changed Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 7f2c85777db26c120821bc1c9b8273a30a705a09 Author: Ishizaki Kou Date: Tue Oct 2 18:23:46 2007 +1000 [POWERPC] Celleb: New HTAB Guest OS Interface on Beat This changes the Celleb code to work with new Guest OS Interface to tweak HTAB on Beat. It detects old and new Guest OS Interfaces automatically. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b41848031ac16aee8d045e86f0b7ad3ba97e961e Author: Ishizaki Kou Date: Tue Oct 2 18:21:21 2007 +1000 [POWERPC] Celleb: Support for Power/Reset buttons This supports Power/Reset buttons on Beat on Celleb. On Beat, we have an event from Beat if Power button or Reset button is pressed. This patch catches the event and convert it to a signal to INIT process by calling ctrl_alt_del() function. /sbin/inittab have no entry to turn the machine power off so we have to detect if power button is pressed or not internally in our driver. This idea is taken from PS3's event handling subsystem. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 80755b4144b303882437ac301034f0c7330199a8 Author: Ishizaki Kou Date: Tue Oct 2 18:18:46 2007 +1000 [POWERPC] Celleb: Move pause, kexec_cpu_down to beat.c This is an update for "Beat on Celleb" - Move beat_pause(), beat_kexec_cpu_down() from setup.c to beat.c Signed-off-by: Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 74c9b99d4dcadd144fab7326c99d0ffb1de19245 Author: Joachim Fenkes Date: Wed Sep 26 19:46:34 2007 +1000 [POWERPC] ibmebus: More descriptive error return code in ibmebus_store_probe() Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit 4acb889627412cbab6b4b44593efe232f5028eb2 Author: Michael Ellerman Date: Mon Sep 17 16:05:02 2007 +1000 [POWERPC] Update axon_msi to use dcr_host_t.base Now that dcr_host_t contains the base address, we can use that in the axon_msi code, rather than storing it separately. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0411a5e233db0f5196cff46a34bff15c005bbe6a Author: Michael Ellerman Date: Mon Sep 17 16:05:01 2007 +1000 [POWERPC] Update mpic to use dcr_host_t.base Now that dcr_host_t contains the base address, we can use that in the mpic code, rather than storing it separately. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0b94a1eeeeb3542d046b928ca01fcd4bf0ea7587 Author: Michael Ellerman Date: Mon Sep 17 16:05:00 2007 +1000 [POWERPC] Store the base address in dcr_host_t In its current form, dcr_map() doesn't remember the base address you passed it, which means you need to store it somewhere else. Rather than adding the base to another struct it seems simpler to store it in the dcr_host_t. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ca786f83a97d7897b013b1e9b290c9010b69af9b Author: Adrian Bunk Date: Tue Oct 2 13:30:09 2007 -0700 [POWERPC] Select proper defconfig for crosscompiles The trick for finding the right defconfig is neat, but you forgot to provide an i686_defconfig. ;-) More seriously, cross compiling the defconfig is often useful, e.g. for testing the compilation of patches that touch multiple architectures, and this patch therefore chooses g5_defconfig if $(CROSS_COMPILE) is non-empty. Signed-off-by: Adrian Bunk Acked-by: Sam Ravnborg Cc: Benjamin Herrenschmidt Cc: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 3049ea7e04408abf35dc295014cb6f1eabcf9b8c Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:09 2007 -0700 [POWERPC] Sky Cpu and Nexus: use seq_file/single_open on proc interface This patch changes proc interface to be used with single_file/seq_open calls. Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8b70da1a094fb781d49a811fd2368907adc92b8d Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:08 2007 -0700 [POWERPC] Sky Cpu: use C99 style for struct init This changes structure item init format to C99, and removes useless structure items init. Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 5f725fe92cc2e75892b237e863d5f695fb634bb2 Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:07 2007 -0700 [POWERPC] Sky Cpu and Nexus: check for create_proc_entry ret code Adds checking of create_proc_entry call to prevent possible NULL pointer usage. Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 7472fd36a87e84c2819066543224285a6ab79ffc Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:06 2007 -0700 [POWERPC] Sky Cpu and Nexus: check for platform_get_resource retcode Add adds checking for platform_get_resource() return code to prevent possible NULL pointer usage. Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d2ceb47a7cbcc50b45832c6b24c47515838d169a Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:06 2007 -0700 [POWERPC] Sky Cpu and Nexus: include io.h Add #include directive to properly declare ioremap() and writel(). Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit a4e32b5f0ac60e6bca7c6896f47e1c624ae45df1 Author: Cyrill Gorcunov Date: Tue Oct 2 13:30:05 2007 -0700 [POWERPC] Sky Cpu and Nexus: code style improvement Remove useless spaces and adds some empty lines to make code more readable. Also marker for printk is added. Signed-off-by: Cyrill Gorcunov Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Brian Waite Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8150caad02266623b5b9f58088d589f130fccd97 Author: Roland McGrath Date: Tue Oct 2 13:30:04 2007 -0700 [POWERPC] powerpc vDSO: install unstripped copies on disk This keeps an unstripped copy of the vDSO images built before they are stripped and embedded in the kernel. The unstripped copies get installed in $(MODLIB)/vdso/ by "make install". These files can be useful when they contain source-level debugging information. Signed-off-by: Roland McGrath Cc: Sam Ravnborg Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d4243c175f127b377c881f512e7fb8ddaf2ed5e2 Author: Mathieu Desnoyers Date: Tue Oct 2 13:30:04 2007 -0700 [POWERPC] Include pagemap.h in asm/powerpc/tlb.h Fixes this powerpc build error in 2.6.22-rc6-mm1 for powerpc 64 with CONFIG_SWAP=n : In file included from include2/asm/tlb.h:60, from /home/compudj/git/linux-2.6-lttng/arch/powerpc/mm/init_64. c:56: /home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h: In function 'tlb_flush_mmu': /home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages' /home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h: In function 'tlb_remove_page': /home/compudj/git/linux-2.6-lttng/include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release' make[2]: *** [arch/powerpc/mm/init_64.o] Error 1 release_pages is declared in linux/pagemap.h, but cannot be included in linux/swap.h because of a sparc related comment: /* only sparc can not include linux/pagemap.h in this file * so leave page_cache_release and release_pages undeclared... */ #define free_page_and_swap_cache(page) \ page_cache_release(page) #define free_pages_and_swap_cache(pages, nr) \ release_pages((pages), (nr), 0); Signed-off-by: Mathieu Desnoyers Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 048c8bc90e53bf1f5feec020a7d482da94894e93 Author: Hugh Dickins Date: Wed Nov 1 05:44:54 2006 +1100 [POWERPC] ppc64: support CONFIG_DEBUG_PREEMPT Add CONFIG_DEBUG_PREEMPT support to ppc64: it was useful for testing get_paca() preemption. Cheat a little, just use debug_smp_processor_id() in the debug version of get_paca(): it contains all the right checks and reporting, though get_paca() doesn't really use smp_processor_id(). Use local_paca for what might have been called __raw_get_paca(). Silence harmless warnings from io.h and lparcfg.c with local_paca - it is okay for iseries_lparcfg_data to be referencing shared_proc with preemption enabled: all cpus should show the same value for shared_proc. Why do other architectures need TRACE_IRQFLAGS_SUPPORT for DEBUG_PREEMPT? I don't know, ppc64 appears to get along fine without it. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 5669c3cf19fbadaa9120b59914beec8431277efe Author: Stephen Rothwell Date: Tue Oct 2 13:37:53 2007 +1000 [POWERPC] Limit range of __init_ref_ok somewhat This patch introduces zalloc_maybe_bootmem and uses it so that we don't have to mark a whole (largish) routine as __init_ref_ok. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 88de3cab98ff6c794b840969427e61605d0cc1ea Author: Mark A. Greer Date: Tue Oct 2 10:24:08 2007 +1000 [POWERPC] MAINTAINERS shouldn't reference linuxppc-embedded Powerpc patches should be posted to linuxppc-dev@ozlabs.org, so modify MAINTAINERS to no longer reference linuxppc-embedded@ozlabs.org. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 0de2d820067e03ca93f6bf5320d362d5262fb7a3 Author: Scott Wood Date: Fri Sep 28 04:38:55 2007 +1000 [POWERPC] Make instruction dumping work in real mode On non-book-E, exceptions execute in real mode. If a fault happens that leads to a register dump, the kernel currently prints XXXXXXXX because it doesn't realize that PC is a physical address. This patch checks whether instruction address translation is turned on, and if not converts PC into a virtual address. Signed-off-by: Scott Wood Acked-by: Kumar Gala Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 3eb523b939d59fd90518188750c26df5d357478f Author: Arnd Bergmann Date: Thu Sep 27 00:02:05 2007 +1000 [POWERPC] Fix pci domain detection The /proc/bus/pci/* files list PCI domain numbers only for devices that claim to be on a multi-domain system. The check for this is broken on powerpc, because the buid value is truncated to 32 bits. There is at least one machine (IBM QS21) that only uses the high-order bits of the buid, so the return value of pci_proc_domain() ends up being always zero, which makes /proc/bus/pci useless. Change the logic to always return '1' for a nonzero buid value. Signed-off-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fabca2c0a461bd82a35194e3a4bb1e98f3ffa789 Author: Roland McGrath Date: Tue Sep 25 09:50:52 2007 +1000 [POWERPC] Add CHECK_FULL_REGS in several places in ptrace code This restores the CHECK_FULL_REGS sanity check to every place that can access the nonvolatile GPRs for ptrace. This is already done for native-bitwidth PTRACE_PEEKUSR, but was omitted for many other cases (32-bit ptrace, PTRACE_GETREGS, etc.); I think there may have been more uniform checks before that were lost in the recent cleanup of GETREGS et al. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit fec6047047fda307e47b9e87697144a89528c752 Author: Scott Wood Date: Tue Sep 25 06:09:49 2007 +1000 [POWERPC] bootwrapper: Add PlanetCore firmware support This is a library that board code can use to extract information from the PlanetCore configuration keys. PlanetCore is used on various boards from Embedded Planet. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 27ff35d9026b5d41d66ed95b65d7819db4cf5fb1 Author: Scott Wood Date: Tue Sep 25 06:09:11 2007 +1000 [POWERPC] bootwrapper: Factor out dt_set_mac_address() This allows callers to set addresses one at a time when that would be more convenient. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 51a505d73bfed863135861fdc0496a09766b69d5 Author: Milton Miller Date: Sat Sep 22 09:03:52 2007 +1000 [POWERPC] boot: Simplify gunzip_finish Call gunzip_partial to calculate the remaining length and copy the data to the user buffer. This makes it shorter and reduces duplication. Signed-off-by: Milton Miller Acked-by: David Gibson Signed-off-by: Paul Mackerras commit e47654d016c68a02f654ac16951577804f7789c7 Author: Milton Miller Date: Sat Sep 22 09:03:34 2007 +1000 [POWERPC] boot: Record header bytes in gunzip_start Record the number of header bytes skipped in the total bytes read field. This is needed for the initramfs parsing code to find the end of the zip file. Signed-off-by: Milton Miller Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 6fccab26df4f59815d7ec912e4111a92807780de Author: Stephen Rothwell Date: Fri Sep 21 14:32:05 2007 +1000 [POWERPC] Make vio_bus_type static Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c868078ed82e3651b16f68a420ae7568de2102db Author: Stephen Rothwell Date: Fri Sep 21 14:31:02 2007 +1000 [POWERPC] Simplify vio_bus_init a little for legacy iSeries iSeries_vio_dev was already statically initialised and we can remove one set of #ifdef CONFIG_PPC_ISERIES guards. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c546726293912c932f3c14d06b0f68e175d70781 Author: Stephen Rothwell Date: Fri Sep 21 14:29:28 2007 +1000 [POWERPC] Remove debug printk from vio_bus_init As it just adds noise to the boot messages. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4a4cfe3836916e12282ceb5c4bdd799dc71af567 Author: Tony Breeds Date: Sat Sep 22 07:35:52 2007 +1000 [POWERPC] Implement generic time of day clocksource for powerpc Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit aa3be5f32db137bc4404f32a24b36fb47d48d260 Author: Tony Breeds Date: Fri Sep 21 13:26:02 2007 +1000 [POWERPC] Implement {read,update}_persistent_clock With these functions implemented we cooperate better with the generic timekeeping code. This obsoletes the need for the timer sysdev as a bonus. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit df174e3be88d4352bfcfe20d11adc671d2961c79 Author: Ed Swarthout Date: Fri Sep 21 12:53:02 2007 +1000 [POWERPC] Add memory regions to the kcore list for 32-bit machines The entries are only 32-bit, so restrict the virtual address to stay below 0xffff_ffff. With KERNELBASE set to 0xc000_0000, this in effect restricts access to the first 1GB of real memory. Make setup_kcore conditional on CONFIG_PROC_KCORE for both 32/64. Signed-off-by: Ed Swarthout Signed-off-by: Paul Mackerras commit 94987aff23bcdd7cee92edf02c2f4ef259d1cbf6 Author: Paul Mackerras Date: Fri Sep 21 11:52:36 2007 +1000 [POWERPC] Disable power management for arch/ppc Currently the prep_defconfig in arch/ppc won't build due to swsusp being broken. This patch avoids the problem by essentially disabling all power management on those platforms left in arch/ppc. Signed-off-by: Paul Mackerras commit 2578bfae84a78bd46fdbc0d2f9d39e9fbc9c8a3f Author: Stephen Rothwell Date: Fri Sep 21 10:16:20 2007 +1000 [POWERPC] Create and use CONFIG_WORD_SIZE Linus made this suggestion for the x86 merge and this starts the process for powerpc. We assume that CONFIG_PPC64 implies CONFIG_PPC_MERGE and CONFIG_PPC_STD_MMU_32 implies CONFIG_PPC_STD_MMU. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 75918a4b5998c93ee1ab131fbe64b97b5d0d2315 Author: Olof Johansson Date: Fri Sep 21 05:11:20 2007 +1000 [POWERPC] Separate out legacy machine check exception parsers Move out the old-style exception parsers to a separate function, and don't call it on platforms that have a platform-specific handler. It would make sense to move out the generic versions into their platforms instead, but that can be done gradually down the road. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 6f6682809b994fd9a61081fa0410df31481d5f7f Author: Domen Puncer Date: Fri Sep 21 00:00:11 2007 +1000 [POWERPC] clk.h interface for platforms This provides an implementation of the interface for arch/powerpc using a set of function pointers in clk_functions. Platforms that want to support this interface should fill clk_functions and select CONFIG_PPC_CLOCK in Kconfig. Signed-off-by: Domen Puncer Signed-off-by: Paul Mackerras commit 21ccdd31e9c70f42b00d9ea152f6c4e0ff3f536e Author: Michael Ellerman Date: Thu Sep 20 16:36:51 2007 +1000 [POWERPC] Inline u3msi_compose_msi_msg() In the MPIC U3 MSI code, we call u3msi_compose_msi_msg() once for each MSI. This is overkill, as the address is per pci device, not per MSI. So setup the address once, and just set the data per MSI. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d385366a9b96fc3f4705f8513adccceaa0515f97 Author: Michael Ellerman Date: Thu Sep 20 16:36:50 2007 +1000 [POWERPC] Simplify rtas_change_msi() error semantics Currently rtas_change_msi() returns either the error code from RTAS, or if the RTAS call succeeded the number of irqs that were configured by RTAS. This makes checking the return value more complicated than it needs to be. Instead, have rtas_change_msi() check that the number of irqs configured by RTAS is equal to what we requested - and return an error otherwise. This makes the return semantics match the usual 0 for success, something else for error. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit fcbe8090a001522f98ad6f3146f0a1d9fa473821 Author: Michael Ellerman Date: Thu Sep 20 16:36:48 2007 +1000 [POWERPC] Simplify error logic in rtas_setup_msi_irqs() rtas_setup_msi_irqs() doesn't need to call teardown() itself, the generic code will do this for us as long as we return a non-zero value. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d9303d662fa3fca8a6d27dee82b961a5f5524f20 Author: Michael Ellerman Date: Thu Sep 20 16:36:47 2007 +1000 [POWERPC] Simplify error logic in u3msi_setup_msi_irqs() u3msi_setup_msi_irqs() doesn't need to call teardown() itself, the generic code will do this for us as long as we return a non zero value. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit db220b234da9f183b127b9c3077c253b94756e35 Author: Michael Ellerman Date: Mon Sep 17 16:03:45 2007 +1000 [POWERPC] Make sure to of_node_get() the result of pci_device_to_OF_node() pci_device_to_OF_node() returns the device node attached to a PCI device, but doesn't actually grab a reference - we need to do it ourselves. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a35e370cfd2ddfb5d2f0ceae376ffeda273b357c Author: Arnd Bergmann Date: Thu Aug 30 09:11:24 2007 +1000 [POWERPC] Move embedded6xx into multiplatform The various embedded 6xx systems can easily coexist in one kernel together with the other 6xx based systems, so there is no strict reason to keep them separate. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit a7fb7ea76e20740c641a9b5401ef45b3b022cb69 Author: Linas Vepstas Date: Fri Aug 10 09:27:00 2007 +1000 [POWERPC] pseries: device node status can be "ok" or "okay" It seems that some versions of firmware will report a device node status as the string "okay". As we are not expecting this string, the device node will be ignored by the EEH subsystem. Which means EEH will not be enabled. When EEH is not enabled, PCI errors will be converted into Machine Check exceptions, and we'll have a very unhappy system. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 008d50fc16e8ea5005d324a25d62d29e417151fe Author: Paul Mundt Date: Tue Oct 2 16:24:50 2007 +0900 sh: early_printk tidying. setup_early_printk() can be static, and with that, we can kill off the early initialization variable and move the CON_BOOT check in to the function body. Signed-off-by: Paul Mundt commit 090495b54fabc88169aedebb2b3831a3b9ef174c Author: Paul Mundt Date: Mon Oct 1 18:05:36 2007 +0900 sh64: Kill off dead gdb stub symbol. There's no supported GDB stub in the kernel, kill off the dead config option for it. Signed-off-by: Paul Mundt commit 137a84acae1235774a0c3f7a4073f49d1438f336 Author: Paul Mundt Date: Mon Oct 1 18:04:55 2007 +0900 sh64: alphanumeric display only on Cayman. Dependency cleanup. The non-cayman boards don't have the mach callbacks for this and build error badness ensues. Signed-off-by: Paul Mundt commit 40ebfdbf5320e5b93399bef11a02cd36d095952e Author: Paul Mundt Date: Mon Oct 1 18:02:58 2007 +0900 sh64: Add defconfigs for mach-sim and mach-harp. defconfigs for the simulator and ST50-HARP. Signed-off-by: Paul Mundt commit 0c09e7d17c76007a3429691baa1247f2183f88ec Author: Paul Mundt Date: Mon Oct 1 17:48:28 2007 +0900 sh64: update cayman defconfig. Signed-off-by: Paul Mundt commit 8653fe49fc5b8541451a2a4bc5078d5163132907 Author: Paul Mundt Date: Mon Oct 1 17:45:24 2007 +0900 sh64: Tidy up Kconfig dependencies. Now that the ROM-RAM and generic boards are killed off, refactor the dependencies accordingly. Those were the only special cases, so all of the Kconfig dependency hell gets much cleaner as a result. Signed-off-by: Paul Mundt commit 049aa166b112beab77b9a2f8d9caa03b74843eab Author: Paul Mundt Date: Mon Oct 1 17:43:11 2007 +0900 sh64: Move consistent DMA routines to arch/sh64/mm/. The consistent DMA stuff was evolved from the old PCI DMA mapping functions. As this has been overhauled, it's something that is used by the generic DMA mapping code, and thus, has no intrinsic PCI dependence. Move the routines somewhere more sensible (same place as sh), and fix up the build for CONFIG_PCI=n in the process. Signed-off-by: Paul Mundt commit 749c84966c990092da20203a80e0749b614c79a6 Author: Paul Mundt Date: Mon Oct 1 17:36:47 2007 +0900 sh64: Some symbol exports and build fixes. This fixes up misc build issues that were hit on the non-cayman boards. Additionally, quite a few symbols needed to be exported to fix the module build. Signed-off-by: Paul Mundt commit 6b3d7f02a180af0d711d259adb4eccde1c3f10cd Author: Paul Mundt Date: Mon Oct 1 17:31:27 2007 +0900 sh64: mach-sim: Build fixes. Follow the mach-harp changes to get the simulator support building. Signed-off-by: Paul Mundt commit 7786962beed5161717a299933dd08240e20b6e26 Author: Paul Mundt Date: Mon Oct 1 17:30:40 2007 +0900 sh64: mach-harp: Build fixes. Get the ST50-HARP building again. Signed-off-by: Paul Mundt commit ced238f35b2dc9a0c53d0045ec42d818444946b8 Author: Paul Mundt Date: Mon Oct 1 16:24:53 2007 +0900 sh64: Kill off duplicate frame pointer option. This is already enabled through lib/Kconfig.debug, kill off the architecture specific one. Signed-off-by: Paul Mundt commit d00677255077c3b085a32c1a104fc42a64d17e6f Author: Paul Mundt Date: Mon Oct 1 16:20:41 2007 +0900 sh64: Kill off dead ROM-RAM and generic boards. The generic board stubs were never added, and the ROM-RAM boards never made it in to the wild. Neither one has any users, and both are utterly broken in-tree (likely since 2.4). Kill them both off. Signed-off-by: Paul Mundt commit 4e99b0b8d2e5a72b0fd27136fb3c0f08fc1da395 Author: Paul Mundt Date: Mon Oct 1 16:16:34 2007 +0900 sh64: Tidy up includes for Cayman board. There were quite a few left over includes from code that was removed long ago, rip out the stuff we no longer need. Signed-off-by: Paul Mundt commit 1ef7cbbe2157274a7003e78ef60b7ad885a970b8 Author: Paul Mundt Date: Mon Oct 1 16:13:28 2007 +0900 sh64: Move *_p() I/O routine variants to io.h. These were implemented using an ugly macro for just simple wrapping, so we just make the wrapping explicit and move it to io.h instead. Also fixes up some modules: CC [M] drivers/net/8390.o In file included from drivers/net/8390.c:6: drivers/net/lib8390.c: In function 'ei_start_xmit': drivers/net/lib8390.c:329: error: implicit declaration of function 'outb_p' drivers/net/lib8390.c: In function '__ei_interrupt': drivers/net/lib8390.c:457: error: implicit declaration of function 'inb_p' make[2]: *** [drivers/net/8390.o] Error 1 make[1]: *** [drivers/net] Error 2 Signed-off-by: Paul Mundt commit 78d7e0e5b8e5d662c3e4bdceadbd84c913e69614 Author: Adrian McMenamin Date: Mon Oct 1 10:46:05 2007 +0900 video: pvr2fb: Add TV (RGB) support to Dreamcast PVR driver. Add support for RGB output to the Dreamcast PVR2 frame buffer driver. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 836624619b98535079053920a29a7e474ac17cbc Author: Paul Mundt Date: Fri Sep 28 16:04:49 2007 +0900 sh: Conditionalize gUSA support. This conditionalizes gUSA support. gUSA is not supported on SMP configurations, and it's not necessary there anyways due to having other atomicity options (ie, movli.l/movco.l). Anything implementing the LL/SC semantics (all SH-4A CPUs) can switch to userspace atomicity implementations without requiring gUSA. This is left default-enabled on all UP so that glibc doesn't break. Those that know what they are doing can disable this explicitly. Signed-off-by: Paul Mundt commit 995bb781d42441ed48517bc7ea6414c3df3386ef Author: Paul Mundt Date: Fri Sep 28 15:48:06 2007 +0900 sh: Follow gUSA preempt changes in __switch_to(). Signed-off-by: Paul Mundt commit e5137682a1ad48bc5306070935c277e262f119ef Author: Paul Mundt Date: Fri Sep 28 15:21:51 2007 +0900 sh: Tidy up gUSA preempt handling. Currently gUSA toggles hardirqs to disable preemption in the signal handler. Make the preemption toggling explicit, and kill off some CONFIG_PREEMPT ifdefs in the process. Signed-off-by: Paul Mundt commit 023ef184fff6ac2e7cba345708f35536a2a419cb Author: Stuart Menefy Date: Fri Sep 28 12:36:35 2007 +0900 sh: __copy_user() optimizations for small copies. This implements a fast-path for small (less than 12 bytes) copies, with the existing path treated as the slow-path and left as the default behaviour for all other copy sizes. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 24eb17e0813490497f4d5b2fad218bdba402cece Author: Stuart Menefy Date: Fri Sep 28 11:51:52 2007 +0900 sh: clkfwk: Support multi-level clock propagation. Currently clock propagation only works for one level, but we have some clocks which need to propagate multiple levels, so make this recursive. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 675bd7804cb53998a57f96d4133856c29213cabd Author: Paul Mundt Date: Thu Sep 27 18:22:21 2007 +0900 sh: Fix URAM start address on SH7785. Not all of the SH-X2 URAM blocks are mapped in the same place, SH7785 happens to map it on the opposite end of the address space from SH7722, correct the addresses. Signed-off-by: Paul Mundt commit cb7af21f7d370edb3a6a6d3e15cb17c8fd61591e Author: Paul Mundt Date: Thu Sep 27 18:18:39 2007 +0900 sh: Use boot_cpu_data for CPU probe. This moves off of smp_processor_id() and only sets the probe information for the boot CPU directly. This will be copied out for the secondaries, so there's no reason to do this each time. This also allows for some header tidying. Signed-off-by: Paul Mundt commit c3af39758ce49b79570ab5ff2f64e0ea5fd82c9b Author: Paul Mundt Date: Thu Sep 27 18:08:46 2007 +0900 sh: Support extended mode TLB on SH-X3. Signed-off-by: Paul Mundt commit 6f4285d13300f1c8cd675a41ab390cea06173cd1 Author: Pierre Ossman Date: Thu Sep 27 10:48:29 2007 +0200 sdio: adaptive interrupt polling The interrupt polling frequency is a compromise between power usage and interrupt latency. Unfortunately, it affects throughput rather severely for devices which require an interrupt for every chunk of data. By making the polling frequency adaptive, we get better throughput with those devices without sacficing too much power. Polling will quickly increase when there is an actual interrupt, and slowly fall back to the idle frequency when the interrupts stop coming. Signed-off-by: Pierre Ossman commit dc47e9dd419df6c73a0c57b47fd8e0742dbe3424 Author: Paul Mundt Date: Thu Sep 27 16:48:00 2007 +0900 sh: Bump MAX_ACTIVE_REGIONS for SH7785. When using URAM in NUMA mode another active region is needed. Bump this up so we don't trigger the region truncation in add_active_range(). Signed-off-by: Paul Mundt commit f72abd0a4c3298912c03befa41660d03a2e3321d Author: Paul Mundt Date: Thu Sep 27 16:45:46 2007 +0900 sh: Fix plat_irq_setup_pins() for SH7785. There was some debug code left in here that caused the pin changes to never be hit. Kill that off, and all is well. Signed-off-by: Paul Mundt commit c167aeef232c45deaf5c6c9be00a1f71b14962d3 Author: Paul Mundt Date: Thu Sep 27 16:43:39 2007 +0900 sh: Kill off duplicate NODES_SHIFT. We already set this in arch/sh/mm/Kconfig, don't set a conflicting one in arch/sh/Kconfig too.. Signed-off-by: Paul Mundt commit 09a4df5f0c8b7c418821fe591bf0d0f13b206c61 Author: Paul Mundt Date: Thu Sep 27 12:57:35 2007 +0900 sh: processor.h needs smp.h Trivial build fix for SH-2. Signed-off-by: Paul Mundt commit 4d2cab7c00ebf5c12c3177763fed5a6b4658d384 Author: Paul Mundt Date: Thu Sep 27 10:47:00 2007 +0900 sh: Disable 4kB pages on extended mode TLB. 4kB pages are unstable on extended mode TLB, it's recommended that TLB compat mode be used when using a 4kB PAGE_SIZE. Set the default for extended mode to 8kB. This should have negligible impact, as other than the extra swap cache entry bits, there's no reason to use the extended mode TLB with 4kB pages. Signed-off-by: Paul Mundt commit 26fad19d8c3ca9abd7ffb85a63f8e25f1b4910dc Author: Paul Mundt Date: Thu Sep 27 10:29:58 2007 +0900 sh: Disable L2 reporting for present URAM only parts. The probing logic works for both URAM and L2, with no way to distinguish between the two. Disable the probing for now and let the CPU subtypes that have this in a real L2 configuration explicitly say so. Signed-off-by: Paul Mundt commit b15773a06e5feee192f83c578222b45d81d1edc9 Author: Jochen Friedrich Date: Mon Sep 24 18:54:41 2007 +0200 [POWERPC] Fix cpm_uart driver in cpm_uart_cpm1.h, DPRAM_BASE is assigned an address derived from cpmp. On ARC=ppc, this is a physical address with 1:1 DMA mapping which can't be used for arithmetric compare operations with virtual addresses returned by cpm_dpram_addr. This patch changes the assignment to use cpm_dpram_addr as well, like in cpm_uart_cpm2.h. Signed-off-by: Jochen Friedrich commit 7a6d44f79f60f2b106e2a820503fa7c1814a13d0 Author: Jochen Friedrich Date: Thu Sep 13 16:00:48 2007 +0200 [PPC] Compile fix for 8xx CPM Ehernet driver Add #include for flush_dcache_range to make the driver compile again. CC arch/ppc/8xx_io/enet.o arch/ppc/8xx_io/enet.c: In function 'scc_enet_start_xmit': arch/ppc/8xx_io/enet.c:240: error: implicit declaration of function 'flush_dcache_range' make[1]: *** [arch/ppc/8xx_io/enet.o] Error 1 make: *** [arch/ppc/8xx_io] Error 2 Signed-off-by: Jochen Friedrich commit 1d7a8ee0ebcc26c98f21889fd900546ef2a02fa1 Author: Jochen Friedrich Date: Fri Sep 21 13:15:07 2007 +0200 [PPC] Fix cpm_dpram_addr returning phys mem instead of virt mem cpm_dpram_addr returns physical memory of the DP RAM instead of iomapped virtual memory. As there usually is a 1:1 MMU map of the IMMR area, this is often not noticed. However, cpm_dpram_phys assumes this iomapped virtual memory and returns garbage on the 1:1 mapped memory causing CPM1 uart console to fail. This patch fixes the problem (copied from the powerpc tree). Signed-off-by: Jochen Friedrich commit c5552ca48b312880ba9111411c98abfe72d88ea9 Author: Jochen Friedrich Date: Fri Sep 21 12:57:13 2007 +0200 [POWERPC] Fix copy'n'paste typo in commproc.c The powerpc version of commproc.c exports cpm_dpram_addr twice and cpm_dpram_phys not at all due to a typo. This patch fixes this problem. CC arch/powerpc/sysdev/commproc.o arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kcrctab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kcrctab_cpm_dpram_addr' was here arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__kstrtab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__kstrtab_cpm_dpram_addr' was here arch/powerpc/sysdev/commproc.c:398: error: redefinition of '__ksymtab_cpm_dpram_addr' arch/powerpc/sysdev/commproc.c:392: error: previous definition of '__ksymtab_cpm_dpram_addr' was here make[1]: *** [arch/powerpc/sysdev/commproc.o] Error 1 make: *** [arch/powerpc/sysdev] Error 2 Signed-off-by: Jochen Friedrich commit 5d3ad4e8a12e538eead0a37d22b1ba6aec0f2127 Author: Bridge Wu Date: Tue Sep 25 19:11:00 2007 +0200 mmc: pxamci: add SDIO card interrupt reporting capability Again, only available from PXA27x. Signed-off-by: Bridge Wu Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit df456f479aa6fdc812df51627c6f2c21d8a1aed8 Author: Bridge Wu Date: Tue Sep 25 19:09:19 2007 +0200 mmc: pxamci: set proper buswidth capabilities according to PXA flavor From PXA27x, it is possible to do 4-bit data transfers. Signed-off-by: Bridge Wu Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit fe2dc44eac1223a0e92859242f58fd2a58a6f8fa Author: Nicolas Pitre Date: Mon Sep 24 15:47:18 2007 -0400 mmc: pxamci: set proper block capabilities according to PXA flavor From PXA27x, it is possible to do 2048-byte block transfers. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 81ab570f65395f09962f4bca0d89403f8911c071 Author: Bridge Wu Date: Tue Sep 25 18:59:07 2007 +0200 mmc: pxamci: better pending IRQ determination Pending interrupts should be determined from both I_REG and I_MASK registers. Signed-off-by: Bridge Wu Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit b7a701851842e6a3d33ac1b0f80379664c633d49 Author: Ben Dooks Date: Tue Jul 24 13:37:27 2007 +0100 [MTD] [NAND] s3c2410: fix arch moves Fixup the includes which have been moved around when changing the s3c24xx arch support. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit faf39ede5e6325d3e91b6e4e0017d27fbecb6022 Author: Pavel Pisa Date: Sun Sep 23 22:59:01 2007 +0200 arm: i.MX/MX1 SDHC implements SD cards read-only switch read-back The patch enables to define MMC host get_ro() method through platform data. Signed-off-by: Pavel Pisa Signed-off-by: Pierre Ossman commit 1f91bbb58413e0bce9726cd6d12bf4b95c343a7f Author: Paul Mundt Date: Mon Sep 24 18:11:27 2007 +0900 sh: Define _ebss for uClinux MTD map driver. The uClinux MTD device uses _ebss, add the symbol and corresponding export. Signed-off-by: Paul Mundt commit e71cf2b63c861bdcbe13d0a67d5007b5933c61a5 Author: Paul Mundt Date: Mon Sep 24 17:49:51 2007 +0900 sh: Revert incorrect license string changes. These were right the first time. Either a thinko or building in the wrong tree. Revert this. Signed-off-by: Paul Mundt commit ab27f62002f4dc8f759c1ec069024d8173e5dea0 Author: Paul Mundt Date: Mon Sep 24 17:00:45 2007 +0900 sh: Calculate cache aliases on L2 caches. Calculate the number of cache aliases on probed L2 caches, and while we're at it, print out the detected statistics at boot time for these also. Signed-off-by: Paul Mundt commit 8328a8ba92819792f37e3db002d404554e7a6f79 Author: Paul Mundt Date: Mon Sep 24 16:40:56 2007 +0900 sh: nommu: Kill off dummy page fault ops for SH-3/4. We stopped referencing these functions unconditionally when the old entry.S code was refactored, so this is just dead code at present. Kill it off. Signed-off-by: Paul Mundt commit d10040f7eb808cd984b563d1cf727a1020990a2e Author: Paul Mundt Date: Mon Sep 24 16:38:25 2007 +0900 sh: Fix alias calculation for non-aliasing cases. There was an off-by-1 on the cache alias detection logic on SH-4, which caused n_aliases to always be 1 even when the page size precluded the existence of aliases. With this corrected, 64KB pages happily reports n_aliases == 0, and hits the appropriate fast paths in the flushing routines. Signed-off-by: Paul Mundt commit af8350c756cb48a738474738f7bf8c0e572fa057 Author: Pierre Ossman Date: Mon Sep 24 07:15:48 2007 +0200 mmc: add led trigger Add a led trigger for each host controller that indicates if there is a request active on the controller. Signed-off-by: Pierre Ossman commit 15a0580ced081a0f7dc2deea8a4812bdc5e9a109 Author: David Brownell Date: Wed Aug 8 09:12:54 2007 -0700 mmc_spi host driver This is the latest version of the MMC-over-SPI support. It works on 2.6.23-rc2 plus git-mmc (from rc1-mm2), along with the preceding patches which teach the rest of the MMC stack about SPI. The main issue of note is that sometimes cards need to be power cycled to recover after certain faults. Also, it may sometimes be necessary to disable CRCs. ("modprobe mmc_core use_spi_crc=n") Signed-off-by: David Brownell Cc: mikael.starvik@axis.com, Cc: Hans-Peter Nilsson Cc: Jan Nikitenko Cc: Mike Lavender Signed-off-by: Pierre Ossman commit af51715079e7fb6b290e1881d63d815dc4de5011 Author: David Brownell Date: Wed Aug 8 09:11:32 2007 -0700 MMC core learns about SPI Teach the MMC/SD/SDIO core about using SPI mode. - Use mmc_host_is_spi() so enumeration works through SPI signaling and protocols, not just the native versions. - Provide the SPI response type flags with each request issued, including requests from the new lock/unlock code. - Understand that cmd->resp[0] and mmc_get_status() results for SPI return different values than for "native" MMC/SD protocol; this affects resetting, checking card lock status, and some others. - Understand that some commands act a bit differently ... notably: * OP_COND command doesn't return the OCR * APP_CMD status doesn't have an R1_APP_CMD analogue Those changes required some new and updated primitives: - Provide utilities to access two SPI-only requests, and one request that wasn't previously needed: * mmc_spi_read_ocr() ... SPI only * mmc_spi_set_crc() ... SPI only (override by module parm) * mmc_send_cid() ... for use without broadcast mode - Updated internal routines: * Previous mmc_send_csd() modified into mmc_send_cxd_native(); it uses native "R2" responses, which include 16 bytes of data. * Previous mmc_send_ext_csd() becomes new mmc_send_cxd_data() helper for command-and-data access * Bugfix to that mmc_send_cxd_data() code: dma-to-stack is unsafe/nonportable, so kmalloc a bounce buffer instead. - Modified mmc_send_ext_csd() now uses mmc_send_cxd_data() helper - Modified mmc_send_csd(), and new mmc_spi_send_cid(), routines use those helper routines based on whether they're native or SPI The newest categories of cards supported by the MMC stack aren't expected to work yet with SPI: MMC or SD cards with over 4GB data, and SDIO. All those cards support SPI mode, so eventually they should work too. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 7213d175e3b6f6db60f843b72e88857a350e146a Author: David Brownell Date: Wed Aug 8 09:10:23 2007 -0700 MMC/SD card driver learns SPI Teaching the MMC/SD block card driver about SPI. - Provide the SPI response type flags with each request issued. - Understand that multiblock SPI writes don't use STOP_TRANSMISSION. - Correct check for APP_CMD failure. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 97018580c40c8a31dd7ae744da3378c787a2066d Author: David Brownell Date: Wed Aug 8 09:09:01 2007 -0700 MMC headers learn about SPI Teach the MMC/SD/SDIO system headers that some hosts use SPI mode - New host capabilities and status bits * MMC_CAP_SPI, with mmc_host_is_spi() test * mmc_host.use_spi_crc flag - SPI-specific declarations: * Response types, MMC_RSP_SPI_R* * Two SPI-only commands * Status bits used native to SPI: R1_SPI_*, R2_SPI_* - Fix a few (unrelated) whitespace bugs in the headers. - Reorder a few mmc_host fields, removing several bytes of padding None of these changes affect current code. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 759bdc7af450404382e937c76722ae8736daef92 Author: Pierre Ossman Date: Wed Sep 19 18:42:16 2007 +0200 sdio: store vendor strings Store vendor strings found in CISTPL_VERS_1 so that function drivers can access them. Signed-off-by: Pierre Ossman commit f9996aee36921e8f1d499de1b2ea380855cf6d97 Author: Pierre Ossman Date: Wed Sep 19 18:38:50 2007 +0200 mmc: increase power up delay Increase delay for power up in order to support some slower boards. Also add some comments about why the delays are there. Signed-off-by: Pierre Ossman commit f75979b77fb20b01522d8fab96dfc76cc9f42420 Author: Pierre Ossman Date: Tue Sep 4 07:59:18 2007 +0200 sdhci: sdio interrupt support Add support for relaying the sdio interrupt signal from the card. Signed-off-by: Pierre Ossman commit 15b82b46de358a574c2a6a6dea4c8076bef7ac43 Author: Nicolas Pitre Date: Mon Aug 20 17:17:37 2007 -0400 sdio: fix recursion issues between sdio-uart driver and tty layer In a few places, sdio_uart_irq() is called directly instead of waiting for the actual interrupt to be raised and the SDIO IRQ thread scheduled in order to reduce latency. However, some interaction with the tty core may end up calling us back (serial echo, flow control, etc.) creating two issues: - the host lock gets claimed twice from the same thread causing a deadlock; - the same direct calls to sdio_uart_irq() may be performed causing unexpected reentrancy into the IRQ handler. This patch handles both of those issues. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 2ba30eedec37e2f65babf4ea54233f98afbe0871 Author: Nicolas Pitre Date: Wed Aug 15 13:27:29 2007 -0400 sdio: add default c_ispeed/c_ospeed values to sdio_uart driver Note that the default baudrate is 4800 instead of 9600 as a convenience because that's what GPS devices want which is still the main use for this driver. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 7806cdb40fd562e5dcc07321579b62a5dc7cd95c Author: David Vrabel Date: Fri Aug 10 13:29:46 2007 +0100 sdio: add sdio_f0_readb() and sdio_f0_writeb() Add sdio_f0_readb() and sdio_f0_writeb() functions to reading and writing function 0 registers. Writes outside the vendor specific CCCR registers (0xF0 - 0xFF) are not permitted. Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit d84075c8aed771d47d7ac6e96b098559da361c25 Author: Pierre Ossman Date: Thu Aug 9 13:23:56 2007 +0200 mmc: replace BUG_ON with WARN_ON Replace all cases of BUG_ON with WARN_ON where there is a chance (with varying degrees of slim) that the kernel can continue without incidence. Signed-off-by: Pierre Ossman commit 9f2fcf99394b34769e3243a7f42a0ba8d21fc774 Author: Mariusz Kozlowski Date: Wed Aug 1 00:05:24 2007 +0200 sdio: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Pierre Ossman commit eb6594689226663968ef0a9fd71ec5e1e4e04f9c Author: David Vrabel Date: Wed Aug 8 14:24:21 2007 +0100 sdio: extend sdio_readsb() and friends to handle any length of buffer Extend sdio_readsb(), sdio_writesb(), sdio_memcpy_fromio(), and sdio_memcpy_toio() to handle any length of buffer by splitting the transfer into several IO_RW_EXTENDED commands. Typically, a transfer would be split into a single block mode transfer followed by a byte mode transfer for the remainder but we also handle lack of block mode support and the block size being greater than 512 (the maximum byte mode transfer size). host->max_seg_size <= host->max_req_size so there's no need to check both when determining the maximum data size for a single command. Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit 9a08f82b3cc522f727ace580a2aaee5402435bc8 Author: David Vrabel Date: Wed Aug 8 14:23:48 2007 +0100 sdio: set the functions' block size Before a driver is probed, set the function's block size to the default so the driver is sure the block size is something sensible and it needn't explicitly set it. The default block size is the largest that's supported by both the card and the host, with a maximum of 512 to ensure aribitrarily sized transfer use the optimal (least) number of commands. See http://lkml.org/lkml/2007/8/7/150 for reasons for the block size choice. Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit 7616ee95f27a04fd5a6434e9ef4a82cec4b2807c Author: David Vrabel Date: Wed Aug 8 14:23:05 2007 +0100 sdio: add SDIO_FBR_BASE(f) macro Signed-off-by: David Vrabel Signed-off-by: Pierre Ossman commit e6f918bf39773d712ab5b457bff54ade3bda0cb1 Author: Pierre Ossman Date: Tue Aug 7 14:11:55 2007 +0200 mmc: fix sdio timeout calculation SDIO doesn't have a CSD so it uses different timeout values than SD memory. Signed-off-by: Pierre Ossman commit ce252edd869ba1fee6a9a6f83e20f349d4c4d669 Author: Pierre Ossman Date: Tue Aug 7 14:06:18 2007 +0200 mmc: fix incorrect divisor in debug output Signed-off-by: Pierre Ossman commit 4ff6471c028a9885e8f09a000d87694f81190ab9 Author: Pierre Ossman Date: Mon Jul 30 18:23:53 2007 +0200 sdio: enable wide bus mode Enable 4-bit data bus mode, according to host and card capabilities. Signed-off-by: Pierre Ossman commit 6db5020e7386ddf17378f91eb8c445433e5b07cd Author: Pierre Ossman Date: Mon Jul 30 17:15:07 2007 +0200 sdio: change clock speed Change clock speed to the highest supported by the card. Signed-off-by: Pierre Ossman commit 22bfc979d38f57d5b10d141990175d8fc47f6775 Author: Adrian Bunk Date: Sun Jul 29 16:58:09 2007 +0200 make struct sdio_dev_attrs[] static On Wed, Jul 25, 2007 at 04:03:04AM -0700, Andrew Morton wrote: >... > Changes since 2.6.22-rc6-mm1: >... > git-mmc.patch >... > git trees >... sdio_dev_attrs[] can become static. Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit 17b759aff916b4d02721e75ce5ed82b1903e5bd6 Author: Nicolas Pitre Date: Tue Jul 24 02:09:39 2007 -0400 sdio: add interface for host side SDIO interrupt reporting Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 112c9db91ee6bf19eca7cbb6854be3127381c229 Author: Pierre Ossman Date: Fri Jul 6 13:35:01 2007 +0200 sdio: support IO_RW_EXTENDED Support the multi-byte transfer operation, including handlers for common operations like writel()/readl(). Signed-off-by: Pierre Ossman commit 5ed334a1f8caaae98806d572f78c5802975ea20f Author: Nicolas Pitre Date: Wed Jul 4 23:40:34 2007 -0400 sdio: add /proc interface to sdio_uart driver This mimics what the serial_core does. Useful for diagnostics. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 6e418a9d26ab4fd44b3e07dc1158027cbdf0a919 Author: Nicolas Pitre Date: Sat Jun 30 02:04:21 2007 -0400 sdio: UART/GPS driver This currently only accepts the GPS class since that's all I have for testing. Tested with a Matsushita GPS and gpsd version 2.34. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit d1496c39e500857b8949cdb91af24e0eb8aae4d0 Author: Nicolas Pitre Date: Sat Jun 30 16:29:41 2007 +0200 sdio: core support for SDIO function interrupt Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 49dc08eeda707f59019814fe07a2b17979348002 Author: Artem Bityutskiy Date: Fri Sep 21 19:35:21 2007 +0300 [MTD] [OneNAND] fix numerous races This patch make the OneNAND driver much less racy. It fixes our "onenand_wait: read timeout!" heisenbugs. The reason of these bugs was that the driver did not lock the chip when accessing OTP, and it screwed up OneNAND state when the OTP was read while JFFS2 was doing FS checking. This patch also fixes other races I spotted: 1. BBT was not protected 2. Access to ecc_stats was not protected Now the chip is locked when BBT is accessed. To fix all of these I basically split all interface functions on 'function()' and 'function_nolock()' parts. I tested this patch on N800 hardware - it fixes our problems. But I tested a little different version because our OneNAND codebase is slightly out-of-date. But it should be OK. This patch also includes the prin fixes I posted before. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 2342f3323c9a76367a1d7f9a35525ee3cb3911df Author: Nicolas Pitre Date: Sat Jun 30 16:21:52 2007 +0200 sdio: allow for mmc_claim_host to be aborted It is sometimes necessary to give up on trying to claim the host lock, especially if that happens in a thread that has to be stopped. While at it, fix the description for mmc_claim_host() which was wrong. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 55fe77a0a24e05c9aaf1a13550dde5efad8b49f2 Author: Nicolas Pitre Date: Sat Jun 16 21:40:07 2007 -0400 sdio: defines for some standard interface types Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit bcfe66e21ef78a078bb0de0bab532701996695d3 Author: Pierre Ossman Date: Sun Jun 17 11:42:21 2007 +0200 sdio: add basic sysfs attributes Signed-off-by: Pierre Ossman commit d59b66c7a575cfa8e01f483875d131e42b539bbc Author: Pierre Ossman Date: Sun Jun 17 11:34:23 2007 +0200 sdio: add modalias support Signed-off-by: Pierre Ossman commit 9eb3a94d022e6c233c0b22ec54516d35d2e87eb9 Author: Pierre Ossman Date: Sun Jun 17 11:18:46 2007 +0200 mmc: whip bus uevent handler into shape Make the mmc bus uevent callback look like all other subsystems. Signed-off-by: Pierre Ossman commit 3b38bea0d976513970f947806b08b9faca418e7a Author: Pierre Ossman Date: Sat Jun 16 15:54:55 2007 +0200 sdio: add device id table and matching Signed-off-by: Pierre Ossman commit 26074962e8f547b96614dbe248748ba2a1996ca3 Author: Nicolas Pitre Date: Sat Jun 16 02:07:53 2007 -0400 mmc: initialize mmc subsystem with subsys_initcall() The problem is that the sdio_bus must be registered before any SDIO drivers are registered against it otherwise the kernel sulks. Because the sdio_bus registration happens through module_init (equivalent to device_initcall), then any SDIO drivers linked before the SDIO core code in the kernel will be initialized first. Upcoming SDIO function drivers are likely to be located outside the drivers/mmc directory as it is common practice to group drivers according to their function rather than the bus they use. SDIO drivers are therefore likely to appear at random location in the kernel link. To make sure the sdio_bus is always initialized before any SDIO drivers, let's move the MMC init to the subsys_initcall level. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 1a632f8cdc33e7f8edca352164f0c96a75d08f08 Author: Pierre Ossman Date: Mon Jul 30 15:15:30 2007 +0200 sdio: split up common and function CIS parsing Add a more clean separation between global, common CIS information and the function specific one as we need the common information in places where no specific function is specified. Signed-off-by: Pierre Ossman commit b1538bcf75e2e11459947ec4d4329ed04fbe2b2c Author: Nicolas Pitre Date: Sat Jun 16 02:06:47 2007 -0400 sdio: link unknown CIS tuples to the sdio_func structure This way those tuples that the core cares about are consumed by the core code, and tuples that only function drivers might make sense of are available to drivers. Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit b726126196d54cbbba0924191e5c4dd5ba747fa2 Author: Nicolas Pitre Date: Sat Jun 16 02:04:16 2007 -0400 sdio: initial CIS parsing code Signed-off-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 0597007f1b22bbb5d4234ca09c045f9bb2711270 Author: Pierre Ossman Date: Mon Jun 11 21:01:00 2007 +0200 sdio: basic parsing of FBR Signed-off-by: Pierre Ossman commit 35c66c19088bddb11110c124bad8abd4441a8421 Author: Pierre Ossman Date: Mon Jun 11 20:25:43 2007 +0200 sdio: read and decode interesting parts of the CCCR Signed-off-by: Pierre Ossman commit fa64efa1f2a0672767ad0753a6e4bfa4bcc77b87 Author: Pierre Ossman Date: Sun May 27 14:22:37 2007 +0200 mmc: enable/disable functions for SDIO Like many other buses, the devices (functions) on the SDIO bus must be enabled before they can be used. Add functions that allow drivers to do so. Signed-off-by: Pierre Ossman commit 46f555f2731a14545a09ec06d27bd18e8e07069f Author: Pierre Ossman Date: Sun May 27 12:57:15 2007 +0200 mmc: add basic SDIO I/O operations Add command wrappers that simplify register access from SDIO function drivers. Signed-off-by: Pierre Ossman commit f76c85154d320497bf1a939a98d6c432edcbd4a9 Author: Pierre Ossman Date: Sun May 27 12:00:02 2007 +0200 mmc: add SDIO driver handling Add basic driver handling to the SDIO device model. Signed-off-by: Pierre Ossman commit 0bac5111cc00b70460dd8ba8340522e1f0d79f05 Author: David Woodhouse Date: Sun Sep 23 18:51:25 2007 +0100 [MTD] map driver for NOR flash on the Intel Vermilion Range chipset The Vermilion Range Expansion Bus supports four chip selects, each of which has 64MiB of address space. The 2nd BAR of the Expansion Bus PCI Device is a 256MiB memory region containing the address spaces for all four of the chip selects, with start addresses hardcoded on 64MiB boundaries. This map driver only supports NOR flash on chip select 0. The buswidth (either 8 bits or 16 bits) is determined by reading the Expansion Bus Timing and Control Register for Chip Select 0 (EXP_TIMING_CS0). Signed-off-by: Andy Lowe Signed-off-by: David Woodhouse commit e29a7d73f4277eb92aa64e17017dea33460828ef Author: Pierre Ossman Date: Sat May 26 13:48:18 2007 +0200 mmc: basic SDIO device model Add the sdio bus type and basic device handling. Signed-off-by: Pierre Ossman commit b2bcc798bbb482b2909801280f3c4aff8cbbf5be Author: Pierre Ossman Date: Tue May 22 20:25:21 2007 +0200 mmc: implement SDIO IO_RW_DIRECT operation Signed-off-by: Pierre Ossman commit 59d8235be2ab38ddaffbe9137385095a5e8b0a77 Author: Andy Lowe Date: Fri Jan 12 18:05:24 2007 -0500 [JFFS2] Fix unpoint length Fix a couple of instances in JFFS2 where the unpoint() routine is being called with the wrong length in cases where the point() routine truncated a request. Signed-off-by: Andy Lowe Signed-off-by: Nicolas Pitre Signed-off-by: David Woodhouse commit 097f2576eb7dbc8cd5f610847f229f4fea305b80 Author: Andy Lowe Date: Fri Jan 12 18:05:10 2007 -0500 [MTD] fix CFI point method for discontiguous maps The CFI probe routine is capable of detecting flash banks consisting of identical chips mapped to physically discontiguous addresses. (One common way this can occur is if a flash bank is populated with chips of less capacity than the hardware was designed to support.) The CFI point() routine currently ignores any such gaps. This patch fixes the CFI point() routine so that it truncates any request that would span a gap. Signed-off-by: Andy Lowe Signed-off-by: Nicolas Pitre Signed-off-by: David Woodhouse commit e644f7d6289456657996df4192de76c5d0a9f9c7 Author: Todd Poynor Date: Mon Nov 7 21:47:48 2005 +0000 [MTD] MAPS: Merge Lubbock and Mainstone drivers into common PXA2xx driver Replace Lubbock and Mainstone board drivers with common PXA2xx driver, convert to platform driver (corresponding platform device changes merged to kernel.org for 2.6.15), add power management callbacks. Signed-off-by: Todd Poynor Signed-off-by: Nicolas Pitre Signed-off-by: David Woodhouse commit 5c4e6f1301649d5b29dd0f70e6da83e728ab5ca5 Author: Pierre Ossman Date: Mon May 21 20:23:20 2007 +0200 mmc: detect SDIO cards Really basic init sequence for SDIO cards. Signed-off-by: Pierre Ossman commit 1d4de9edd6c9ad676b20729ab15c04b78e9a50c5 Author: Marc Pignat Date: Thu Aug 9 13:56:29 2007 +0200 mmc: at91_mci: disable handling of blocks with size not multiple of 4 bytes This kind of transfer is not supported, so don't advertise it and make it fail early. Signed-off-by: Marc Pignat Signed-off-by: Pierre Ossman commit 8fdd8521dcc9d89072f3ca5dca444560bcea39c6 Author: Pierre Ossman Date: Tue Jul 24 21:53:43 2007 +0200 mmc: add missing printk levels Some printk:s were missing an explicit level. Signed-off-by: Pierre Ossman commit be0192aae1aed3fbf172e3f9a22ec75392c1b175 Author: Pierre Ossman Date: Tue Jul 24 21:11:47 2007 +0200 mmc: remove confusing flag The MMC_DATA_MULTI flag never had a proper definition of what it means, so remove it and let the drivers check the block count in the request. Signed-off-by: Pierre Ossman commit 255d01af9a990fd5166f04ed0cc0b30b7b67e81e Author: Pierre Ossman Date: Tue Jul 24 20:38:53 2007 +0200 mmc: remove BYTEBLOCK capability Remove the BYTEBLOCK capability and let the broken hosts fail the requests with -EINVAL instead. Signed-off-by: Pierre Ossman commit b146d26a61e0feab2f12a98ae83fd352830899c0 Author: Pierre Ossman Date: Tue Jul 24 19:16:54 2007 +0200 mmc: mmc_set_data_timeout() parameter write is redundant The write parameter in mmc_set_data_timeout() is redundant as the data structure contains information about the direction of the transfer. Signed-off-by: Pierre Ossman commit d7604d76351f7745d0e62d9f2bbcbb917c9013f3 Author: Pierre Ossman Date: Mon Jul 23 00:34:07 2007 +0200 mmc: read ext_csd version number Make sure we do not try to parse a structure we do not understand. Signed-off-by: Pierre Ossman commit adf66a0dc5e8be8d4e64f3c2114f9b175558235b Author: Pierre Ossman Date: Sun Jul 22 23:08:30 2007 +0200 mmc: improve error code feedback Now that we use "normal" error codes, improve the reporting and response to error codes in the core. Signed-off-by: Pierre Ossman commit 17b0429dde9ab60f9cee8e07ab28c7dc6cfe6efd Author: Pierre Ossman Date: Sun Jul 22 22:18:46 2007 +0200 mmc: remove custom error codes Convert the MMC layer to use standard error codes and not its own, incompatible values. Signed-off-by: Pierre Ossman commit 576e393e74e58bd4c949d551a3340accc8dbab0f Author: Emil Medve Date: Thu Sep 20 12:25:17 2007 +1000 [POWERPC] Fix build errors when BLOCK=n These are the symptom error messages: CC arch/powerpc/kernel/setup_32.o In file included from include/linux/blkdev.h:17, from include/linux/ide.h:13, from arch/powerpc/kernel/setup_32.c:13: include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list In file included from arch/powerpc/kernel/setup_32.c:13: include/linux/ide.h:857: error: field 'wrq' has incomplete type CC arch/powerpc/kernel/ppc_ksyms.o In file included from include/linux/blkdev.h:17, from include/linux/ide.h:13, from arch/powerpc/kernel/ppc_ksyms.c:15: include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list In file included from arch/powerpc/kernel/ppc_ksyms.c:15: include/linux/ide.h:857: error: field 'wrq' has incomplete type The fix tries to use the smallest scope CONFIG_* symbols that will fix the build problem. In this case needs to be included only if IDE=y or IDE=m were selected. Also, ppc_ide_md is needed only if BLK_DEV_IDE=y or BLK_DEV_IDE=m Moved the EXPORT_SYMBOL(ppc_ide_md) from ppc_ksysms.c next to its declaration in setup_32.c which made not needed. With gone from ppc_ksyms.c, is needed to address the following warnings and errors: CC arch/powerpc/kernel/ppc_ksyms.o arch/powerpc/kernel/ppc_ksyms.c:122: error: '__flush_icache_range' undeclared here (not in a function) arch/powerpc/kernel/ppc_ksyms.c:122: warning: type defaults to 'int' in declaration of '__flush_icache_range' arch/powerpc/kernel/ppc_ksyms.c:123: error: 'flush_dcache_range' undeclared here (not in a function) arch/powerpc/kernel/ppc_ksyms.c:123: warning: type defaults to 'int' in declaration of 'flush_dcache_range' Signed-off-by: Emil Medve Signed-off-by: Paul Mackerras commit 4c2a54b09ba35a409afc34bd331a57a994921664 Author: Benjamin Herrenschmidt Date: Wed Sep 19 14:50:22 2007 +1000 [POWERPC] Fix platinumfb framebuffer Current kernels have a non-working platinumfb due to some resource management issues. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8fd7675c092f79f240246c76728477ec4e7f7f09 Author: Satyam Sharma Date: Tue Sep 18 09:43:40 2007 +1000 [POWERPC] Avoid pointless WARN_ON(irqs_disabled()) from panic codepath > ------------[ cut here ]------------ > Badness at arch/powerpc/kernel/smp.c:202 comes when smp_call_function_map() has been called with irqs disabled, which is illegal. However, there is a special case, the panic() codepath, when we do not want to warn about this -- warning at that time is pointless anyway, and only serves to scroll away the *real* cause of the panic and distracts from the real bug. * So let's extract the WARN_ON() from smp_call_function_map() into all its callers -- smp_call_function() and smp_call_function_single() * Also, introduce another caller of smp_call_function_map(), namely __smp_call_function() (and make smp_call_function() a wrapper over this) which does *not* warn about disabled irqs * Use this __smp_call_function() from the panic codepath's smp_send_stop() We also end having to move code of smp_send_stop() below the definition of __smp_call_function(). Signed-off-by: Satyam Sharma Signed-off-by: Paul Mackerras commit 17b5ee04c09a158129eb538933eae7be956190e9 Author: Olof Johansson Date: Tue Sep 18 06:12:29 2007 +1000 [POWERPC] Support setting affinity for U3/U4 MSI sources Hook up affinity-setting for U3/U4 MSI interrupt sources. Tested on Quad G5 with myri10ge. Signed-off-by: Olof Johansson Acked-by: Benjamin Herrenschmidt Acked-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 3164cccdc0e6e16eb9797586aaa8d1f759799c01 Author: Arnd Bergmann Date: Sat Sep 15 10:21:57 2007 +1000 [POWERPC] add Kconfig option for optimizing for cell Since the PPE on cell is an in-order core, it suffers significantly from wrong instruction scheduling. This adds a Kconfig option that enables passing -mtune=cell to gcc in order to generate object code that runs well on cell. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit fb8299ed31d474248c2028ab8393462841cc9b0b Author: Jeremy Kerr Date: Fri Sep 14 15:46:40 2007 +1000 [POWERPC] cell: Don't cast the result of of_get_property() The cast to u32 * isn't required, of_get_property returns a void *. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 408e83a682bbca54c579519098d63f3f5d8856e1 Author: Tony Breeds Date: Wed Sep 12 13:58:54 2007 +1000 [POWERPC] Convert define_machine(mpc885_ads) to C99 initializer syntax Make the define_machine() block for mpc885_ads more greppable and consistent with other examples in tree. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 85498ae87c7d789de613b7e21bd539577142c3cb Author: Grant Likely Date: Sat Sep 1 03:34:37 2007 +1000 [POWERPC] mpc5200: Add cuimage support for mpc5200 boards Signed-off-by: Grant Likely Acked-by: David Gibson Signed-off-by: Paul Mackerras commit ad25a4cca7f21b53e3af8303d922a87c910677d7 Author: Grant Likely Date: Fri Aug 31 06:26:24 2007 +1000 [POWERPC] mpc8349: Add linux,network-index to ethernet nodes in device tree cuImage needs to know the logical index of the ethernet devices in order to assign mac addresses. This adds the needed properties. Signed-off-by: Grant Likely Acked-by: David Gibson CC: Scott Wood CC: Kumar Gala CC: Timur Tabi Signed-off-by: Paul Mackerras commit 3e61576b2ac930b9d1fa2c8d077552f7e7709b3c Author: Meelis Roos Date: Wed Jul 25 22:17:43 2007 +1000 [POWERPC] Fix ppc kernels after build-id addition This patch fixes arch/ppc kernels, at least for prep subarch, after build-id addition. Without this, kernels were 3 times the size and bootloader refused to load them. Now they are back to normal again. Tested only with Roland McGrath's "Use LDFLAGS_MODULE only for .ko links" patch applied - boots and works fine. Signed-off-by: Meelis Roos Signed-off-by: Paul Mackerras commit 20b31b53ea87e598ea8159f109b4217ad185fce5 Author: Robert P. J. Day Date: Wed Jul 18 23:36:36 2007 +1000 [POWERPC] Prevent direct inclusion of . Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 555ddbb4e2191c8823df2d61525218ac39481385 Author: Aristeu Rozanski Date: Tue Jul 17 06:53:09 2007 +1000 [POWERPC] adbhid: Enable KEY_FN key reporting When a Fn key is used in combination with another key in ADB keyboards it will generate a Fn event and then a second event that can be a different key than pressed (Fn + F1 for instance can generate Fn + brightness down if it's configured like that). This enables the reporting of the Fn key to the input system. As Fn is a dead key for most purposes, it's useful to report it so applications can make use of it. One example is apple_mouse (https://jake.ruivo.org/uinputd/trunk/apple_mouse/) that emulates the second and third keys using a combination of keyboard keys and the mouse button. Other applications may use the KEY_FN as a modifier as well. I've been updating and using this patch for months without problems. Signed-off-by: Aristeu Rozanski Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fc624eae3278330f484669dd8fe85535def7eb78 Author: Mike Frysinger Date: Sun Jul 15 13:36:09 2007 +1000 [POWERPC] Use __attribute__ in asm-powerpc Pretty much everyone uses "__attribute__" or "attribute", no one uses "__attribute". This tweaks the three places in asm-powerpc where this comes up. While only asm-powerpc/types.h is interesting (for userspace), I did asm-powerpc/processor.h as well for consistency. Signed-off-by: Mike Frysinger Signed-off-by: Paul Mackerras commit 9b41fcb0eb890009f9de3df76fcdb2ba77314a4b Author: Dale Farnsworth Date: Tue May 15 05:52:22 2007 +1000 [POWERPC] Add Marvell mv64x60 udbg putc/getc functions Commit 69331af, "Fixes and cleanups for earlyprintk aka boot console", resulted in printk output prior to the initialization of the mpsc console driver not being printed. That commit causes the mpsc's CON_PRINTBUFFER flag to be cleared since udbg should have printed the previous output. I guess we can no longer ignore udbg. :) This patch provides udbg_putc() and udbg_getc() functions for the Marvell mv64x60 chips. These functions are enabled if an mv64x60 port is to be used as the console as determined from the device tree. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit e4533b243e5e0c3a26287a902a1ed0f8f5b1cec0 Author: David Woodhouse Date: Thu Apr 5 00:19:43 2007 +1000 [POWERPC] Optionally use new device number for pmac_zilog This adds the option for the pmac_zilog driver to use the major/minor numbers recently allocated specifically for it (/dev/ttyPZn) instead of the /dev/ttySn numbers. The advantage of doing this is that it allows the pmac_zilog and 8250 drivers to coexist. The disadvantage of doing this is that it is a user-visible ABI change and it will break existing working setups on powermacs, and could be confusing to users. Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras commit b38178ee712e8608f20c8e741adf97f75f1aea39 Author: Jörn Engel Date: Fri Sep 21 15:41:44 2007 +0200 [MTD] Document erase interface. Document mtd erase interface. Signed-off-by: Jörn Engel Signed-off-by: David Woodhouse commit 1a442fe02d205d6980202b07f799ab9336e72ad7 Author: Paul Mundt Date: Fri Sep 21 19:16:05 2007 +0900 sh: Initial SH-X3 SMP support. This adds basic support for SH-X3 SMP (4 CPUs). More IPI and cache debugging is necessary, mostly interfacing the d-cache coherency and the I-cache broadcast invalidates. Only for testing at present! Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0016a126accb32f1663eaeba966eb76c98f8929b Author: Paul Mundt Date: Fri Sep 21 18:39:49 2007 +0900 sh: Plug plat_smp_setup() in to generic setup path. Now that the SMP stubs are in place, call in to the setup code to be defined by the platform. Signed-off-by: Paul Mundt commit ceb9b974513de6bd0ee86c30e84c34dd6e974fb5 Author: Magnus Damm Date: Fri Sep 21 18:34:48 2007 +0900 sh: Hook up the SH-X3 SMP intc register groups. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit aba1030a7e529ec9fe47a8cfc06d12a39180fa71 Author: Paul Mundt Date: Fri Sep 21 18:32:32 2007 +0900 sh: Bring SMP support back from the dead. There was a very preliminary bunch of SMP code scattered around for the SH7604 microcontrollers from way back when, and it has mostly suffered bitrot since then. With the tree already having been slowly getting prepped for SMP, this plugs in most of the remaining platform-independent bits. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f18d533e3cd476aedf41fe1e6e9dc3e0a2446bba Author: Magnus Damm Date: Fri Sep 21 18:16:42 2007 +0900 sh: intc - initial SMP support. This implements initial support for the SMP INTC (particularly INTC2) controllers. These are largely implemented as conventional blocks, with register sets grouped together at fixed strides relative to the CPU id. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9964fa8bf952c5c4df9676223fab4cd886d18200 Author: Paul Mundt Date: Fri Sep 21 18:09:55 2007 +0900 sh: Add SMP tlbflush variants. This adds the TLB flushing routines for SMP systems, based on the MIPS implementation, with some additional SH-specific flush routines. Signed-off-by: Paul Mundt commit 7ec9d6f8c0e6932d380da1964021fbebf2311f04 Author: Paul Mundt Date: Fri Sep 21 18:05:20 2007 +0900 sh: Avoid smp_processor_id() in cache desc paths. current_cpu_data uses smp_processor_id() in order to find the corresponding cpu_data. As the cache descs are all currently identical, just have this look at probed results from the boot CPU. Signed-off-by: Paul Mundt commit 2d4a73d5b91528322631830784f4eb7897fb5e41 Author: Paul Mundt Date: Fri Sep 21 18:01:40 2007 +0900 sh: Kill off special boot_cpu_data. This consolidates the cpu_data definitions and gets rid of the special boot_cpu_data. It's made a wrapper to the boot CPU, in order to keep the existing in-tree users happy. Signed-off-by: Paul Mundt commit 00765c816a6396e2bb3c6588019bda1508b62f6a Author: Paul Mundt Date: Fri Sep 21 17:53:26 2007 +0900 sh: Make cpufreq driver less noisy on SMP. The cpufreq driver banner is currently printed for each CPU, move it down so it's not as noisy and it's only printed once. Signed-off-by: Paul Mundt commit c1a069f960f32ff1721b1de12c875855133fe9e4 Author: Paul Mundt Date: Fri Sep 21 15:56:51 2007 +0900 sh: Enable maple by default for the Dreamcast. Signed-off-by: Paul Mundt commit 17be2d2b1c333e1e4c378369ba90ab2dd11c589a Author: Adrian McMenamin Date: Fri Sep 21 15:55:55 2007 +0900 sh: Add maple bus support for the SEGA Dreamcast. The Maple bus is SEGA's proprietary serial bus for peripherals (keyboard, mouse, controller etc). The bus is capable of some (limited) hotplugging and operates at up to 2 M/bits. Drivers of one sort or another existed/exist for 2.4 and a rudimentary port, which didn't support the 2.6 device driver model was also in existence. This driver - for the bus logic itself and for the keyboard (other drivers will follow) are based on the code and concepts of those old drivers but have lots of completely rewritten parts. I have the maple bus code as a built in now as that seems the sane and rational way to handle something like that - you either want the bus or you don't. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit e87ab0c43c30faa0f4b337bfa87bce7923e67485 Author: Markus Brunner Date: Fri Sep 21 15:27:35 2007 +0900 sh: Magic Panel MTD mapping update. This update moves the flash mapping for the Magic Panel into the board setup. It also removes references to the old MTD mapping option in the defconfig. Signed-off by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit 02353f5d2a317861536b8c38fea44196bdd5787c Author: Paul Mundt Date: Fri Sep 21 15:21:55 2007 +0900 sh: rts7751r2d: Fix up trivial build failure. Signed-off-by: Paul Mundt commit 43f4b8c7578b928892b6f01d374346ae14e5eb70 Author: Aoi Shinkai Date: Fri Sep 21 15:18:33 2007 +0900 sh: rts7751r2d cf_ide rework Support CF IDE on R2D-1 boards. Signed-off-by: Aoi Shinkai Signed-off-by: Paul Mundt commit d04a0f79f502a87bb17b147afc4b3e39e75275c3 Author: Paul Mundt Date: Fri Sep 21 11:55:03 2007 +0900 sh: Fix up extended mode TLB for SH-X2+ cores. The extended mode TLB requires both 64-bit PTEs and a 64-bit pgprot, correspondingly, the PGD also has to be 64-bits, so fix that up. The kernel and user permission bits really are decoupled in early cuts of the silicon, which means that we also have to set corresponding kernel permissions on user pages or we end up with user pages that the kernel simply can't touch (!). Finally, with those things corrected, really enable MMUCR.ME and correct the PTEA value (this simply needs to be the upper 32-bits of the PTE, with the size and protection bit encoding). Signed-off-by: Paul Mundt commit db2504966ceb9f08557b6ea3ab7e367016fcaba9 Author: Paul Mundt Date: Fri Sep 21 11:34:31 2007 +0900 sh: Wire up URAM node on SH7785. Add SH7785 URAM as node 1, follows the SH-X3 change. Signed-off-by: Paul Mundt commit 0e01059c3db95b638aa0cc75be4b0e7a134fe904 Author: Paul Mundt Date: Tue Sep 18 15:58:45 2007 +0900 sh: se7206: update defconfig. Signed-off-by: Paul Mundt commit 8f3dc1371efb5fd5f1dc02b2a01da589f2d220a0 Author: Paul Mundt Date: Tue Sep 18 15:41:39 2007 +0900 sh: se7206: Handle non-SuperIO I/O ports. This fixes up the port calculation logic for non-SuperIO accesses, before these were always matching the MRSHPC base, now just make sure the original port is handed back if it's not in the I/O port range. Signed-off-by: Paul Mundt commit c3fae6d163f4647e9390eac3f2a1201e91cd6669 Author: Paul Mundt Date: Fri Sep 14 09:26:07 2007 +0900 sh: r7780rp: irq-r7780rp needs linux/io.h. Trivial build fix. Signed-off-by: Paul Mundt commit 2f0ae55f394a0d38ca3eb2fffac3f4d45c32eb97 Author: Paul Mundt Date: Thu Sep 13 16:36:52 2007 +0900 sh: hp6xx: Trivial build fixes for INTC changes. Get the IRL->IRQ stuff building. Signed-off-by: Paul Mundt commit 7216ddc6b61040d7bfdf44713ea94f6d845553b2 Author: Paul Mundt Date: Thu Sep 13 13:01:15 2007 +0900 sh: se7206: heartbeat needs 32-bit writes. Most boards use 8 or 16-bit access for the LED bank, se7206 needs 32. There's only 8 individual LEDs however, each with a 'special' value in terms of logical ordering. Go FPGA, go! Signed-off-by: Paul Mundt commit dfcb76089ada89a5520ad8544440799e75f01227 Author: Paul Mundt Date: Thu Sep 13 12:59:32 2007 +0900 sh: se7206: Make the I/O port routines less stupid. The port routines were logically inverted, and the MRSHPC range had no upper bound, causing 8 and 16-bit port I/O to get mangled. Signed-off-by: Paul Mundt commit ded5431ff311d963888ac951131a04fe7633aa79 Author: Markus Brunner Date: Wed Sep 12 11:54:58 2007 +0900 sh: Magic Panel R2 board support. This adds support for the SH7720 (SH3-DSP) based Magic Panel R2 board. Signed-off-by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit 18d18ba8ef147f9d0d97da1da1253ce5c982bb91 Author: Kristoffer Ericson Date: Wed Sep 12 11:36:34 2007 +0900 sh: hp6xx: Enable pata_platform in defconfig. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit aedb598631885c54e1bd61b19a373cd1b97aa568 Author: Kristoffer Ericson Date: Wed Sep 12 11:35:55 2007 +0900 sh: hp6xx: Enable touchscreen and powerbutton IRQs. IRQ0->IRQ3 need to be an IRQ mode for these to work, fix them up. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 1db4e9bb5682fd3fd3f37f7fe9c322e7c5bb7578 Author: Paul Mundt Date: Tue Sep 11 18:10:23 2007 +0900 sh: Don't enable FPU for SH4AL-DSP. This leads to invalid configurations where both FPU and DSP support can be enabled in the same kernel, resulting in build failure. Signed-off-by: Paul Mundt commit d581593388e39d77acd643b1d7427c5ecbb85a03 Author: Paul Mundt Date: Tue Sep 11 17:55:36 2007 +0900 sh: dma: Fix CONFIG_SYSFS=n build. Trivial build fix for when sysfs is disabled. Signed-off-by: Paul Mundt commit 35f3abe97696e7563b0dbd7c825acdaab423d330 Author: Paul Mundt Date: Tue Sep 11 15:28:32 2007 +0900 sh: INTC stubs for SH7343 and SH7770 builds. Get the SH7343 and SH7770 stuff linking again. Both of these still require proper INTC support. Signed-off-by: Paul Mundt commit 68362e0857ecf8a9da1ac5f7abceafbcfaa969d7 Author: Paul Mundt Date: Tue Sep 11 15:27:29 2007 +0900 serial: sh-sci: kgdb console build fixes. The kgdb console code requires uart_set_options() and friends, which are only provided by the serial core when console support is enabled. These were sitting under CONFIG_SH_KGDB and resulted in a link error when console support wasn't enabled, work that by rolling the console routines under CONFIG_SH_KGDB_CONSOLE, which they should have been all along. Signed-off-by: Paul Mundt commit c9eaaa9763702bdeac5ac5f790dcebafbada44bb Author: Kristoffer Ericson Date: Tue Sep 11 12:51:02 2007 +0900 sh: hp6xx: Update CF IRQ for INTC changes. The vector changed, so follow the INTC changes for the new vector. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 4f247e84bdb81aab8880f556882a449782a1ea8b Author: Kristoffer Ericson Date: Tue Sep 11 12:49:59 2007 +0900 sh: dma: Fix up build for SH7709 support. Trivial build fixes for SH7709. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit f1382305b9357c8152852d6fcf0d84570d83987a Author: Kristoffer Ericson Date: Tue Sep 11 12:48:45 2007 +0900 sh: hd64461: Trivial build fixes for SH7709. Some trivial fixes to get SH7709 + HD64461 building again. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit eb650d67d8ad0fa16c0c61674d980adb25155358 Author: Kristoffer Ericson Date: Tue Sep 11 12:44:38 2007 +0900 backlight: Fix up hp680_bl build. Trivial build fixes. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 8c8ee8254767d517907418d88492d4d91f10aca1 Author: Kristoffer Ericson Date: Tue Sep 11 12:43:33 2007 +0900 sh: hp6xx: APM build fix and new battery values. Build fixes for the hp6xx APM code, as well as some adjustments for the battery values. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 9dd3f2205330a52674d7c015109813f639af0f14 Author: Kristoffer Ericson Date: Tue Sep 11 12:41:18 2007 +0900 sh: update hp6xx defconfig. hp6xx_defconfig resync. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit f12468a6fd9edc43c7beb8be461ca6927a371540 Author: Kristoffer Ericson Date: Tue Sep 11 12:37:30 2007 +0900 sh: Fix OFFCHIP_IRQ_BASE compile error. HP6xx uses OFFCHIP_IRQ_BASE to know the base irq number where non cpu interrupts should start. This define was in irq.h before, but since rework got lost. It really belongs inside hd64461.h since the hp6xx wont work without it. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 3d73e53870e5045eebe32b9b7d46e72b02adc4d9 Author: Paul Mundt Date: Tue Sep 11 12:35:51 2007 +0900 sh: nommu fault handler needs signal.h. Trivial build fix. Signed-off-by: Paul Mundt commit aa0e77dc21d73057208b8683114b400c898cf53a Author: Paul Mundt Date: Tue Sep 11 12:35:09 2007 +0900 sh: Fix up se7751 build. Trivial compile fix. Signed-off-by: Paul Mundt commit da6b003adc73011fd441a89c30d4f896667e24ba Author: Magnus Damm Date: Mon Sep 10 12:08:42 2007 +0900 sh: add writesb(), readsb(), writesw() and readsw() to io.h This patch adds inline versions of writesb(), readsb(), writesw() and readsw() to include/asm-sh/io.h. Stolen from include/asm-avr32/io.h. These functions are needed to compile certain device drivers such as ax88796. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9d4c82625914c31fd21e341765d476784cc74f14 Author: Magnus Damm Date: Mon Sep 10 12:06:44 2007 +0900 sh: remove sh7780 interrupt controller hack from pci code This patch removes the sh778x specific pci code that pokes in the interrupt controller and overwrites things. The new and improved IRL code manages this in plat_irq_setup() and plat_irq_setup_pins() instead. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 897cfcd878ccc9c2b0f1b3bb00a2368c43feafc0 Author: Magnus Damm Date: Mon Sep 10 12:06:03 2007 +0900 sh: intc - rework higlander irq code for r7780mp and r7785rp This patch reworks the highlander irq code for r7780mp and r7785rp. The same strategy as for the new R2D code is used here - the board specific interrupts are now starting from HL_FPGA_IRQ_BASE. The code for r7780rp is not touched due to lack of hardware. Tested with CF, AX88796 on r7780mp and r7785rp. The touch switch interrupt has also been tested on r7780mp. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5cbc3af521a85aab8ae72c25afcf2698a7547cbd Author: Magnus Damm Date: Mon Sep 10 12:05:10 2007 +0900 sh: minor fixes This patch contains the following fixes: - Adds sh7785 support to CONFIG_EARLY_SCIF_CONSOLE_PORT. - Removes duplicate include from rts7751r2d irq code. - Removes CONFIG_CPU_HAS_INTC from sh7720 Kconfig entry. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 953c8ef250fc6c329d1607cf9cd7fac1d72d7579 Author: Magnus Damm Date: Mon Sep 10 12:03:50 2007 +0900 sh: intc - irl mode update for sh7780 and sh7785 This patch contains the following fixes and improvements: - Fix address typo for INTMSK2 / INTMSKCLR2 registers on sh7780. - Adds IRQ_MODE_IRLnnnn_MASK using intc controller for IRL masking. - Good old IRQ_MODE_IRLnnnn should not register any intc controller. - plat_irq_setup_pins() now selects IRL or IRQ mode. - the holding function is now disabled using ICR0. By default all external pin interrupts are disabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 123f5f188638bfc673aca22ade64b863ec3a2804 Author: Adrian McMenamin Date: Mon Sep 10 12:01:42 2007 +0900 fb: pvr2fb: Shared IRQ for dreamcast pvr2. The maple bus driver (http://lkml.org/lkml/2007/9/4/165) uses hardware synchronisation between the maple bus and the VBLANK to poll the maple bus. This patch makes the interrupt shareable. By definition the interrupt is for both devices. Signed-off by: Adrian McMenamin Signed-off-by: Paul Mundt commit 1254d1db11d8528558613fde5b89eb09306f50a3 Author: Magnus Damm Date: Thu Aug 23 15:19:40 2007 +0900 sh: remove CONFIG_CPU_HAS_INTC_IRQ All processor specific interrupt code is now converted to make use of the new intc code. The config option CONFIG_CPU_HAS_INTC_IRQ is because of that pointless. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a1fd306b887f06d648f45a2c722e9036dced9590 Author: Paul Mundt Date: Thu Aug 23 15:11:44 2007 +0900 sh: Fix up heartbeat build and resource size. We were abusing the resource size for the number of bits, this has been reworked using proper platform data, so this can be tidied up now. Boards in general only have a 1-byte wide resource, which the ioremap_nocache() case already handles. Signed-off-by: Paul Mundt commit b8996e49e8d777abd64833095a1cd291b749df18 Author: Magnus Damm Date: Wed Aug 22 13:36:23 2007 +0900 sh: defconfigs for R2D-PLUS and for R2D-1 This patch removes the old r2d config file named rts7751r2d_defconfig and adds separate config files for the two r2d board versions. The two new defconfigs are identical with the exception of board selection: - rts7751r2dplus_defconfig selects CONFIG_RTS7751R2D_PLUS=y - rts7751r2d1_defconfig selects CONFIG_RTS7751R2D_1=y Please remember to update both files with r2d changes in the future. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8a467a529f01c3471b195a0e8989c6177fe145ef Author: Paul Mundt Date: Wed Aug 22 10:34:31 2007 +0900 sh: Overhaul spinlocks and rwlocks for SH-4A SMP. This rips out some of the old spinlock and rwlock behaviour that the SH-2 parts were using and reworks them for LL/SC semantics on the SH-4A. This is primarily only useful for SH-X3 multi-cores, but can also be used for building CONFIG_SMP=y testing kernels on SH-4A UP. Signed-off-by: Paul Mundt commit b05d1865b46ea72c66ba082598ba370582bb590e Author: Paul Mundt Date: Tue Aug 21 12:25:09 2007 +0900 sh: Kill off volatile silliness in sq_flush_range(). CC arch/sh/kernel/cpu/sh4/sq.o arch/sh/kernel/cpu/sh4/sq.c: In function 'sq_flush_range': arch/sh/kernel/cpu/sh4/sq.c:65: warning: passing argument 1 of 'prefetch' discards qualifiers from pointer target type This didn't actually need to be volatile in the first place, so just kill off the qualifier entirely. Signed-off-by: Paul Mundt commit 2d009328db0951d5eec77a5fe0df3c3e64b35851 Author: Paul Mundt Date: Mon Aug 20 13:15:51 2007 +0900 sh: More license string silliness. 'GPL v2' vs 'GPLv2'. Signed-off-by: Paul Mundt commit 8786c952c1682a132e99b736beae4523e409b13d Author: Paul Mundt Date: Mon Aug 20 13:03:41 2007 +0900 sh: heartbeat driver update. Add some flags for the heartbeat driver, and kill off some duplication in the bit positions for the boards that don't have special cases. This also allows for variable access widths and inversion. Signed-off-by: Paul Mundt commit 2eb0303c2cd536d7f15c7f3bafc848b850a447f0 Author: Magnus Damm Date: Fri Aug 17 00:53:41 2007 +0900 sh: intc - add support for sh7206 This patch converts the cpu specific interrupt setup code for sh7206 from ipr to intc. New vectors are also added to match the information provided by the datasheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0dc3fc04dd0251aa95b49ca7048e9e8f24291166 Author: Magnus Damm Date: Fri Aug 17 00:53:07 2007 +0900 sh: intc - add support for sh7619 This patch converts the cpu specific interrupt setup code for sh7619 from ipr to intc. New vectors are also added to match the information provided by the datasheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c4773bc2a011efa9abe2027f6959106d6f911889 Author: Magnus Damm Date: Fri Aug 17 00:51:47 2007 +0900 sh: fix irqs for the second serial port on sh7206 This patch makes sure the serial port interrupt irqs matches the datasheet. Only irqs for SCIF1 are changed. While at some cosmetic spaces are added. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3d37d94e5aab669f5a492bb3cda67bbbbbca50b8 Author: Magnus Damm Date: Fri Aug 17 00:50:44 2007 +0900 sh: intc - primary priority masking fixes This patch contains various intc fixes for problems reported by Markus Brunner on the linuxsh-dev mailing list: http://marc.info/?l=linuxsh-dev&m=118701948224991&w=1 Apart from added comments, the fixes are: - add intc_set_priority() function prototype to hw_irq.h - fix off-by-one error in intc_set_priority() - make sure _INTC_WIDTH() is set for primary priority masking Big thanks to Markus for finding these problems. Version two fixes a compile error and an inverted primary check. Signed-off-by: Magnus Damm Acked-by: Markus Brunner Signed-off-by: Paul Mundt commit 5c37e025352b993d8726b0207ff2270b2f2bc7d6 Author: Magnus Damm Date: Fri Aug 17 00:45:35 2007 +0900 sh: intc - mark data structures as __initdata With the intc core improved it is now possible to put the intc data structures in the initdata section. Version two of this patch puts the __initdata inside DECLARE_INTC_DESC() and removes the __initdata included in the board specific r2d code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 46420e49c9fd76defecfb3f048ab20c5a72dfd0a Author: Magnus Damm Date: Sun Aug 12 15:31:29 2007 +0900 sh: x3 - add ipi vectors With the intc dual prio register support in place it is now possible to add the ipi vectors to x3. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f8b40d8ce86035b126a27a57ed9139c08ae3ebf1 Author: Magnus Damm Date: Sun Aug 12 15:30:40 2007 +0900 sh: replace sh specific CONFIG_VOYAGERGX with CONFIG_MFD_SM501 This patch replaces all instances of CONFIG_VOYAGERGX with CONFIG_MFD_SM501. While at it we make sure the r2d code compiles both with and without SM501. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2eeec85638cebcb6fbcb2abfe182a32252f3456d Author: Magnus Damm Date: Sun Aug 12 15:29:16 2007 +0900 sh: intc - convert board specific r2d code This patch converts the board specific interrupt code for r2d to make use of intc. While at it we improve the Kconfig to avoid confusion. - Two sets of interrupt tables exist - one for R2D-1 and one for R2D-PLUS. - R2D-1 and R2D-PLUS use the same irq constants. - R2D-1 has AX88796 support, R2D-PLUS does not hook up that IRQ. - R2D-PLUS has KEY support, R2D-1 does not hook up that IRQ. - The number and order of IRQ values are disconnected from register bits. - Interrupt sources now start from IRQ 100. - The machvec demux function converts from irlm IRQ 0-14 to IRQ 100++. Tested on R2D-1 and R2D-PLUS boards. Version 2 adds CONFIG_RTS7751R2D_1 and CONFIG_RTS7751R2D_PLUS together with intc structured as __initdata. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 73505b445dbb8ad12df468404c4dd5cde9c40c65 Author: Magnus Damm Date: Sun Aug 12 15:26:12 2007 +0900 sh: intc - rework core code This patch reworks the intc core, implementing the following features: - Support dual priority registers - one set and one clear register - All 8/16/32 bit register combinations are now supported - Both single mask and single enable bitmap register are supported - Add code to set interrupt priority - Speedup sense and priority configuration code - Allocate data using bootmem, allows intc data structures to be __initdata - Save memory - allocated memory footprint is smaller than intc structures Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6ef5fb2cfcedaab4a43493c8f2305a67c0ce1af6 Author: Magnus Damm Date: Sun Aug 12 15:22:02 2007 +0900 sh: intc - add a clear register to struct intc_prio_reg We need a secondary register member in struct intc_prio_reg to support dual priority registers used by ipi on x3. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d6aee69ca11550f3ca325ceaa020ea74e173478f Author: Magnus Damm Date: Sun Aug 12 15:18:33 2007 +0900 sh: x3 - fix setup_bootmem_node() compile error with shx3_defconfig This makes sure the function prototype for setup_bootmem_node() gets included. The file setup-shx3.c does not compile otherwise for CONFIG_NUMA=n. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3ea6bc3de4f15fcae84fb31eeea4d420685a3da2 Author: Markus Brunner Date: Mon Aug 20 08:59:33 2007 +0900 sh: Add SH7720 CPU support. This adds support for the SH7720 (SH3-DSP) CPU. Signed-off by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit dfc5ed2a939baf08f9385a8c6249b719cac63665 Author: Markus Brunner Date: Mon Aug 20 08:58:12 2007 +0900 sh: Add gpio.h stubs for PFC definitions. This adds the PFC definitions for SH-3, as well as consolidating the gpio.h mess within sh-sci. Stub in sh64, as it's the odd one out between the sh-sci architectures (sh, sh64, h8300) in this capacity. Signed-off by: Markus Brunner Signed-off by: Mark Jonas Signed-off-by: Paul Mundt commit f7f86345fd0cf951613e76e4d00f1f6e8cd11f81 Author: Paul Mundt Date: Wed Aug 8 18:11:26 2007 +0900 sh: Kill off duplicate symbol exports on SMP. synchronize_irq() was being exported twice, kill off the duplicate export. Signed-off-by: Paul Mundt commit e289fd972c9943e51c46929e9dbec3cc4558a6b8 Author: Paul Mundt Date: Wed Aug 8 18:09:13 2007 +0900 serial: sh-sci: Tidy cpufreq printk. This was a bit more verbose than it needed to be. Signed-off-by: Paul Mundt commit d3428e91017f2ecf5655b3ffdf6ed65f5430ade1 Author: Paul Mundt Date: Wed Aug 8 17:06:54 2007 +0900 sh: Wire up CSM node for SH-X3. Now that NODES_SHIFT is bumped up, we can plug in the CSM block as a separate node, too. Signed-off-by: Paul Mundt commit 1760b7d760b2804a87affcb8ec74edde8812a1ea Author: Paul Mundt Date: Wed Aug 8 16:57:05 2007 +0900 serial: sh-sci: Shut up compiler warning for SH-X3 SCIF. Signed-off-by: Paul Mundt commit 9904494d6a5303f6eebf6fe95a37bf1f952a3f5d Author: Paul Mundt Date: Wed Aug 8 16:45:07 2007 +0900 sh: Bump up NODES_SHIFT for SH-X3. This was at 1, which is where most subtypes want it. SH-X3 has more nodes, so bump it up to 3. Signed-off-by: Paul Mundt commit af24fdc1685ff8b27075afbc12d7f6b35b385ae1 Author: Paul Mundt Date: Wed Aug 8 16:31:38 2007 +0900 sh: x3proto: Trivial ILSEL build fix. Signed-off-by: Paul Mundt commit e7109a96e6e2a1f7c4b778146902d86c4f558949 Author: Paul Mundt Date: Wed Aug 8 15:27:55 2007 +0900 sh: x3proto: Hook up ethernet and USB platform devices. Now that we have a way of enabling the IRQs, hook up the platform devices and wrap in to ILSEL for mapping the vectors. Signed-off-by: Paul Mundt commit fef96086270e8d3c99fb2bfc72eef94d95ab2240 Author: Paul Mundt Date: Wed Aug 8 15:26:51 2007 +0900 sh: x3proto: ILSEL IRQ support. This adds functionality for the on-board ILSEL IRQs that chain IRL mode events. Many on-board devices (ethernet, usb, etc.) rely on ILSEL IRQs directly. Signed-off-by: Paul Mundt commit 94807a33dc4aaf522d3eab62db225361e5a97b2a Author: Paul Mundt Date: Wed Aug 8 15:22:04 2007 +0900 sh: Initial support for SH-X3 prototype board. This adds initial support for the SH-X3 prototype board. Only simple logic for the IRQ controller and the heartbeat driver for now. Signed-off-by: Paul Mundt commit 8d797cd191397b2a92b190228f07c7715c1c832a Author: Paul Mundt Date: Tue Aug 7 18:52:29 2007 +0900 sh: Plug in SH-X3 SCIF0 for sercon earlyprintk. Signed-off-by: Paul Mundt commit 6d64d4256cccd3a452ebd8c37a1d41e2d5dab8c6 Author: Paul Mundt Date: Tue Aug 7 18:51:19 2007 +0900 sh: intc: Fix sense regs oops for IRL IRQs. IRL doesn't always define sense registers, so don't bother trying to iterate through the table. This ended up causing an oops on SH-X3 when using IRL mode. Signed-off-by: Paul Mundt commit 96290d808fa4c9b8e744dc1cd032b005179f4710 Author: Magnus Damm Date: Fri Aug 3 14:29:20 2007 +0900 sh: remove intc2 code There is no point in keeping around the now unused intc2 code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 48180cab3adf4cb290c28b70e44e958b7fb8a5b0 Author: Magnus Damm Date: Fri Aug 3 14:27:20 2007 +0900 sh: intc - convert voyagergx code This patch converts the sh-specific voyagergx interrupt code to make use of intc. A lot of "interesting" old cruft gets replaced with intc tables and some simple demux code. - All interrupt sources in the sm501 data sheet are now in the header. - The number and order of IRQ values are disconnected from register bits. - Interrupt sources now start from IRQ 200. - set_irq_chained_handler() is now used to hook up the demux function. In the future it would probably make sense to move the interrupt demuxer into into the mfd driver, but this is probably a nice step in the right direction until that happens. Tested on a R2D-1 board using the serial port hooked up to the sm501. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 51da64264b8d59a1e5fceebd94a975690b70b086 Author: Magnus Damm Date: Fri Aug 3 14:25:32 2007 +0900 sh: intc - add single bitmap register support This patch adds single bitmap register support to intc. The current code only handles 16 and 32 bit registers where a set bit means interrupt enabled, but this is easy to extend in the future. The INTC_IRQ() macro is also added to provide a way to hook in interrupt controllers for FPGAs in boards or companion chips. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2635e8558a7ec0002724e3da8c0a221d2c08af33 Author: Magnus Damm Date: Fri Aug 3 14:24:29 2007 +0900 sh: intc - remove redundant irq code for shmin This patch removes redundant interrupt code for the shmin board which is using a sh770x processor and 4 IRQ lines as individual interrupts (IRQ-mode). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d59645d6ba67337ff09369d9da4fc47f7dc361cc Author: Magnus Damm Date: Fri Aug 3 14:23:35 2007 +0900 sh: intc - remove redundant irq code for sh03, snapgear and titan This patch removes redundant board specific interrupt code for boards using sh775x processors and 4 IRQ lines in "Individual Interrupt Mode" aka IRLM. Three boards are affected: sh03, snapgear and titan. The right way to do this is to use cpu specific code provided by intc. A nice side effect is that sh03 now compiles, board not BROKEN any more. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ad89f87a84040a57c4a78ca2759b364f72f423ab Author: Paul Mundt Date: Fri Aug 3 14:19:58 2007 +0900 rtc: rtc-sh: Support 4-digit year on SH7705/SH7710/SH7712. All SH-4 parts have a 4-digit year, while the SH-3 parts typically only use a 2-digit one. The SH7705, SH7710, and SH7712 SH-3 parts however opted to extend it to 4-digit and still look and act like an SH-3 RTC in all other ways. This adds a capability flag (RTC_CAP_4_DIGIT_YEAR) that these corner-case CPU subtypes can set in their platform data and cleans up some of the ifdef mess in the driver as a result. Reported-by: Markus Brunner Signed-off-by: Paul Mundt commit 7da3b8ef662af6252aa17c55cc0aa6d74cbf02e4 Author: Paul Mundt Date: Wed Aug 1 17:52:47 2007 +0900 sh: Initial multiple-node support for SH-X3. Wire up CPU#0 URAM as node 1 on SH-X3. Signed-off-by: Paul Mundt commit 1ee010087e2d26f0d8182bb189d5606e3586253c Author: Magnus Damm Date: Wed Aug 1 17:02:22 2007 +0900 sh: intc - add support for x3 This patch converts the cpu specific interrupt setup code for x3 from intc2 to intc. New vectors are also added to match the preliminary information. Use plat_irq_setup_pins() to select between IRQ and IRL mode for IRQ0-3. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 137b53b71cd421e0f59f7c4a3767c0fa9e49260a Author: Magnus Damm Date: Wed Aug 1 16:50:42 2007 +0900 sh: intc - fix IRQ4 and IRQ5 typo on sh3 The intc tables for sh3 currently contain a typo where the bit fields in IPRD are mixed up for IRQ4 and IRQ5. This patch makes sure the correct bit fields are used - all according to the datasheets. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ac38e4d33d8da3c3c402d2b4858d107273287f43 Author: Paul Mundt Date: Tue Jul 31 18:52:12 2007 +0900 sh: Fix cache disabling build failures on nommu. The cache disabling stuff screwed up some of the sh4 nommu builds, fix it up again. Signed-off-by: Paul Mundt commit c9d03d9a80c4bcc571efd93fe80ed40973030422 Author: Magnus Damm Date: Tue Jul 31 17:13:39 2007 +0900 sh: simplify se7780 IRQ code The new intc code handles IRQ3 and IRQ7 in the cpu specific code already, so there is no reason to duplicate that here. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e29bfbc44332ee2233d87d5adfd1824fd8a1c73b Author: Magnus Damm Date: Tue Jul 31 17:12:34 2007 +0900 sh: intc - add support for SH7760 This patch converts the cpu specific interrupt setup code for sh7760 from ipr + intc2 to intc. New vectors are also added to match the information provided by the datasheet. Vectors for IRQ4-IRQ7 are enabled by default. Use plat_irq_setup_pins() if pins IRL0-3 should be used in IRLM mode. The patch also adds the SIM block to the serial port platform data. Version two of this patch fixes MMCIF problems reported by Manuel Lauss. Signed-off-by: Magnus Damm Acked-by: Manuel Lauss Signed-off-by: Paul Mundt commit a0e23267d4c57cdaa88114c3d88e25c87ee32d84 Author: Magnus Damm Date: Tue Jul 31 17:11:21 2007 +0900 sh: intc - add support for SH7785 This patch converts the cpu specific interrupt setup code for sh7785 from intc2 to intc. New vectors are also added to match the information provided by the datasheet. No IRQ/IRL pin vectors are enabled by default. Use plat_irq_setup_pins() to select between IRL and IRQ mode. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e7bd34a15b85655f24d1b45edbe3bdfebf9d027e Author: Paul Mundt Date: Tue Jul 31 17:07:28 2007 +0900 sh: Support explicit L1 cache disabling. This reworks the cache mode configuration in Kconfig, and allows for explicit selection of write-back/write-through/off configurations. All of the cache flushing routines are optimized away for the off case. Signed-off-by: Paul Mundt commit ac919986d7dfc5d1d9f5585521307f222a8ebeaf Author: Magnus Damm Date: Thu Jul 26 10:13:21 2007 +0900 sh: intc - avoid SH7710 specific vector on SH7712 This patch makes sure that the sh7710 specific ipsec vector is missing if building for a sh7712. All according to the datasheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1301e71562acc301a39fd363010c971aade8511a Author: Magnus Damm Date: Thu Jul 26 10:12:50 2007 +0900 sh: intc - add missing vectors for SH7707 This patch adds a few missing vectors for sh7707. The only interrupt controller differences between sh7707 and sh7709 seem to be added vectors for one LCD controller and two PCMCIA slots. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ec58f1f32de0b6f9e83aada94c857a8fa9b00070 Author: Magnus Damm Date: Wed Jul 25 17:50:01 2007 +0900 sh: intc - add support for SH7706, SH7707, SH7708, SH7709 This patch unifies the cpu specific interrupt setup code for sh7706, sh7707, sh7708 and sh7709 and moves the code into a new file called setup-sh770x.c. It makes sense to share the setup code between these processors because most hardware blocks are identical from a software point of view. With this patch the sh770x processors now have a complete set of vectors that match with the information provided by the data sheets. This is a big improvement for sh7708. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also unifies the platform device setup code which means that the rtc driver now has platform data for all sh770x processors. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 28b146c84ed571043f473d2ac2f2a27e48fda7d1 Author: Magnus Damm Date: Wed Jul 25 17:47:07 2007 +0900 sh: intc - add support for SH7710 This patch converts the cpu specific interrupt setup code for sh7710 from ipr to intc. While at it new vectors are added to match the information provided by the datasheet. Version two simplifies the Kconfig part. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also adds sh7710 specific platform data for the rtc driver. The base address of SCIF1 is adjusted to match the datasheet. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 70e8be0a4e21f71e654bea2e5ec4789e976a796b Author: Magnus Damm Date: Wed Jul 25 10:50:42 2007 +0900 sh: intc - add support for SH7705 This patch converts the cpu specific interrupt setup code for sh7705 from ipr to intc. While at it new vectors are added to match the information provided by the datasheet. Vectors for IRQ4 and IRQ5 are enabled by default. Use plat_irq_setup_pins() if pins IRQ0-3 should be used in IRQ mode. This patch also adds sh7705 specific platform data for the rtc driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c4d5e375470862fd741f93bf0686d7ac2f7fdce4 Author: David Gibson Date: Thu Sep 20 11:22:25 2007 +1000 [POWERPC] Cleanups for physmap_of.c (v2) This patch includes a whole batch of smallish cleanups for drivers/mtd/physmap_of.c. - A bunch of uneeded #includes are removed - We switch to the modern linux/of.h etc. in place of asm/prom.h - Use some helper macros to avoid some ugly inline #ifdefs - A few lines of unreachable code are removed - A number of indentation / line-wrapping fixes - More consistent use of kernel idioms such as if (!p) instead of if (p == NULL) - Clarify some printk()s and other informative strings. - parse_obsolete_partitions() now returns 0 if no partition information is found, instead of returning -ENOENT which the caller had to handle specially. - (the big one) Despite the name, this driver really has nothing to do with drivers/mtd/physmap.c. The fact that the flash chips must be physically direct mapped is a constrant, but doesn't really say anything about the actual purpose of this driver, which is to instantiate MTD devices based on information from the device tree. Therefore the physmap name is replaced everywhere within the file with "of_flash". The file itself and the Kconfig option is not renamed for now (so that the diff is actually a diff). That can come later. Signed-off-by: David Gibson Signed-off-by: Josh Boyer commit bd0076cc330f303905018a17d9dcfbabde497572 Author: Valentine Barshak Date: Wed Sep 19 03:29:13 2007 +1000 [POWERPC] 4xx: Fix Sequoia MAL0 and EMAC dts entries. According to PowerPC 440EPx documentation, MAL0 is comprised of four channels (two transmit and two receive). Each channel is dedicated to one of two EMAC cores. This patch fixes Sequoia DTS MAL0 entry and EMAC entries, assigning correct channel numbers to EMACs. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit e52f5677bf6954dbd128a2d659d77a85ced55d30 Author: Valentine Barshak Date: Wed Sep 19 03:27:52 2007 +1000 [POWERPC] 4xx: Fix Bamboo MAL0 dts entry. According to PowerPC 440EP documentation, MAL0 consists of 6 channels (4 transmit channels and 2 receive channels) This patch fixes Bamboo DTS MAL0 "num-rx-chans" entry. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 472b5b43bec45e7e79f86094ca9091bd9eb474ed Author: Valentine Barshak Date: Thu Sep 6 03:30:16 2007 +1000 [POWERPC] Add 64-bit resources support to pci_iomap The patch adds support for the 64-bit resources to the PCI iomap code. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit 9a474fff4f6a5fc14ac493c48f56a14e65912cc7 Author: Josh Boyer Date: Wed Sep 19 21:19:07 2007 -0500 [POWERPC] Update PowerPC 4xx entry in MAINTAINERS Add myself as PowerPC 4xx maintainer and list the git tree Signed-off-by: Josh Boyer commit 70dea47da12932cc512e09124a836ddd3499ab39 Author: Hollis Blanchard Date: Mon Sep 17 05:56:47 2007 -0500 [POWERPC] 4xx: Implement udbg_getc() for 440 Implement udbg_getc() for 440, which fixes xmon input. Signed-off-by: Hollis Blanchard Acked-by: David Gibson Signed-off-by: Josh Boyer commit 504ca43e5e681b8ed3837f11ea458eb145a82e4e Author: Josh Boyer Date: Sat Sep 15 04:54:14 2007 +1000 [POWERPC] 4xx: Convert Seqouia flash mappings to new binding A new binding for flash devices was recently introduced. This updates the Sequoia DTS to use the new binding and enabled MTD in the defconfig. Signed-off-by: Josh Boyer Acked-by: David Gibson Acked-by: Stefan Roese commit bf07f32d4332be50f5d4ef06307fb328257fcd1b Author: Josh Boyer Date: Sat Sep 15 04:54:13 2007 +1000 [POWERPC] 4xx: Convert Walnut flash mappings to new binding A new binding for flash devices was recently introduced. This updates the Walnut DTS to use the new binding. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 8d9ae994d8fce807fc90fb8e3b6ac8df1cc7dce6 Author: Josh Boyer Date: Sat Sep 15 04:54:12 2007 +1000 [POWERPC] Make partitions optional in physmap_of The latest physmap_of driver has a small error where it will fail the probe with: physmap-flash: probe of fff00000.small-flas failed with error -2 if there are no partition subnodes in the device tree and the old style binding is not used. Since partition definitions are optional, the probe should still succeed. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 658e81701970a82d33f46241f20be416ebd5e930 Author: Josh Boyer Date: Sat Sep 15 04:54:11 2007 +1000 [POWERPC] cuimage for Bamboo board Add a cuboot wrapper for the Bamboo board. Additionally, we enable MAC address fixups for both cuboot and treeboot. This also removes some obsoleted linker declarations that have been moved into ops.h Signed-off-by: Josh Boyer Acked-by: David Gibson commit 0ce49a3945474fc942ec37c0c0efece60f592f80 Merge: 9e4859e... a88a8ef... Author: Paul Mackerras Date: Thu Sep 20 10:09:27 2007 +1000 Merge branch 'linux-2.6' commit 9e4859ef5462193643fd2b3c8ffb298e5a4a4319 Author: Stephen Rothwell Date: Tue Sep 18 17:25:12 2007 +1000 [POWERPC] FWNMI is only used on pSeries This saves 4k on non pSeries builds (except for iSeries where it saves almost 4k). Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ee7a76da1ef5e3e5e0e54e84319e435ea25c267c Author: Stephen Rothwell Date: Tue Sep 18 17:22:59 2007 +1000 [POWERPC] Size swapper_pg_dir correctly David Gibson pointed out that swapper_pg_dir actually need to be PGD_TABLE_SIZE bytes long not PAGE_SIZE. This actually saves 64k in the bss for a kernel ppc64_defconfig built with CONFIG_PPC_64K_PAGES. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 19a8d97d89442e2bda6245b8a3de2c1fec69a7ad Author: Stephen Rothwell Date: Mon Sep 17 14:41:38 2007 +1000 [POWERPC] Remove cmd_line from head*.S It is just a C char array, so declare it thusly. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7b2c3c5b1d6dd77d7bb5a7d57ab7280e051c59bc Author: Stephen Rothwell Date: Mon Sep 17 14:08:06 2007 +1000 [POWERPC] Fix section mismatch in PCI code Create a helper function (alloc_maybe_bootmem) that is marked __init_refok to limit the chances of mistakenly referring to other __init routines. WARNING: vmlinux.o(.text+0x2a9c4): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.update_dn_pci_info' and '.pci_dn_reconfig_notifier') WARNING: vmlinux.o(.text+0x36430): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.mpic_msi_init_allocator' and '.find_ht_magic_addr') WARNING: vmlinux.o(.text+0x5e804): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') WARNING: vmlinux.o(.text+0x5e8e8): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') WARNING: vmlinux.o(.text+0x5e968): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ee983079ce04641523b23b8ed02cc3503632351e Author: Domen Puncer Date: Wed Jul 18 06:32:31 2007 +1000 [POWERPC] MPC5200 low power mode Low-power mode implementation for Lite5200b. Some I/O registers are also saved here. A recent U-Boot that supports this (lite5200b_PM_config) is needed. Signed-off-by: Domen Puncer Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 104f0cc2dcf7ce0ca7da041177233747d6aa0136 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Add DEFINE_SPUFS_ATTRIBUTE() This patch adds DEFINE_SPUFS_ATTRIBUTE(), a wrapper around DEFINE_SIMPLE_ATTRIBUTE which does the specified locking for the get routine for us. Unfortunately we need two get routines (a locked and unlocked version) to support the coredump code. This hides one of those (the locked version) inside the macro foo. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 9e25ae6d91e7fb058c8957c2a64dc3ca0377dd5b Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Respect RLIMIT_CORE in spu coredump code Currently the spu coredump code doesn't respect the ulimit, it should. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7af1443a9d319132087e1e9a3984b94c6998835c Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Handle errors in SPU coredump code, and support coredump to a pipe Rework spufs_coredump_extra_notes_write() to check for and return errors. If we're coredumping to a pipe we can't trust file->f_pos, we need to maintain the foffset value passed to us. The cleanest way to do this is to have the low level write routine increment foffset when we've successfully written. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit e55014923e65e4ee8e477a1212381cca0125f3aa Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Cleanup ELF coredump extra notes logic To start with, arch_notes_size() etc. is a little too ambiguous a name for my liking, so change the function names to be more explicit. Calling through macros is ugly, especially with hidden parameters, so don't do that, call the routines directly. Use ARCH_HAVE_EXTRA_ELF_NOTES as the only flag, and based on it decide whether we want the extern declarations or the empty versions. Since we have empty routines, actually use them in the coredump code to save a few #ifdefs. We want to change the handling of foffset so that the write routine updates foffset as it goes, instead of using file->f_pos (so that writing to a pipe works). So pass foffset to the write routine, and for now just set it to file->f_pos at the end of writing. It should also be possible for the write routine to fail, so change it to return int and treat a non-zero return as failure. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 48cad41f7ee7b8a9a8317a4abbdaf09bc68b4773 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Combine spufs_coredump_calls with spufs_calls Because spufs might be built as a module, we can't have other parts of the kernel calling directly into it, we need stub routines that check first if the module is loaded. Currently we have two structures which hold callbacks for these stubs, the syscalls are in spufs_calls and the coredump calls are in spufs_coredump_calls. In both cases the logic for registering/unregistering is essentially the same, so we can simplify things by combining the two. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 78810ff6723f20015373b1ba8dd981f24c62f680 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Add contents of npc file to SPU coredumps Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 74de08bc10dd4d67870cf5b6c5aaf6875cd869c5 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Internal __spufs_get_foo() routines should take a spu_context * The SPUFS attribute get routines take a void * because the generic attribute code doesn't know what sort of data it's passing around. However our internal __spufs_get_foo() routines can take a spu_context * directly, which saves plonking it in and out of a void * again. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 936d5bf1d7dc69c56bf79ad68819e597307a1884 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Get rid of spufs_coredump_num_notes, it's not needed if we NULL terminate The spufs_coredump_read array is NULL terminated, and we also store the size. We only need one or the other, and the other arrays in file.c are NULL terminated, so do that. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c1a72173ab156306666cb531f891f32e4e21d592 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Don't return -ENOSYS as extra notes size if spufs is not loaded Because the SPU coredump code might be built as part of a module (spufs), we have a stub which is called by the coredump code, this routine then calls into spufs if it's loaded. Unfortunately the stub returns -ENOSYS if spufs is not loaded, which is interpreted by the coredump code as an extra note size of -38 bytes. This leads to a corrupt core dump. If spufs is not loaded there will be no SPU ELF notes to write, and so the extra notes size will be == 0. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 59000b53c7ea07531018b6cf1f5fcd21e881867a Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Correctly calculate the size of the local-store to dump The routine to dump the local store, __spufs_mem_read(), does not take the spu_lslr_RW value into account - so we shouldn't check it when we're calculating the size either. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d464fb441071a3d65bde2264c5f97f9ca47ce5c3 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Write some SPU coredump values as ASCII Unfortunately GDB expects some of the SPU coredump values to be identical in format to what is found in spufs. This means we need to dump some of the values as ASCII strings, not the actual values. Because we don't know what the values will be, we always print the values with the format "0x%.16lx", that way we know the result will be 19 bytes. do_coredump_read() doesn't take a __user buffer, so remove the annotation, and because we know that it's safe to just snprintf() directly to it. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 4fca9c425009c01d41db6c6ebf0189843ee90f0b Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Use computed sizes/#defines rather than literals in SPU coredump code The spufs_coredump_reader array contains the size of the data that will be returned by the read routine. Currently these are specified as literals, and though some are obvious, sizeof(u32) == 4, others are not, 69 * 8 == ??? Instead, use sizeof() whatever type is returned by each routine, or in the case of spufs_mem_read() the #define LS_SIZE. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 9a5080f11d67972d7972d824f1b1827fafbce126 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Call spu_acquire_saved() before calculating the SPU note sizes It makes sense to stop the SPU processes as soon as possible. Also if we dont acquire_saved() I think there's a possibility that the value in csa.priv2.spu_lslr_RW won't be accurate. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit f9b7bbe7a803c6f10e7b3a354c5d97f632060320 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Remove ctx_info and ctx_info_list Remove the ctx_info struct entirely, and also the ctx_info_list. This fixes a race where two processes can clobber each other's ctx_info structs. Instead of using the list, we just repeat the search through the file descriptor table. Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit a595ed662c96dcd920415bea3135ff1af60e9a00 Author: Michael Ellerman Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Extract the file descriptor search logic in SPU coredump code Extract the logic for searching through the file descriptors for spu contexts into a separate routine, coredump_next_context(), so we can use it elsewhere in future. In the process we flatten the for loop, and move the NOSCHED test into coredump_next_context(). Signed-off-by: Michael Ellerman Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c70d4ca52b1390dd2603535600c948cbdb0b9ec9 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] cell: Remove DEBUG for SPU callbacks We don't want SPE programs to be able to flood the kernel log by invoking the SPE callback handler, so don't enable DEBUG for spu_callbacks.c by default. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 05a059f3296c07a7455290dd8188b23ecb380fc7 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Fix restore_decr_wrapped() to match CBE Handbook Based on an original patch from Masato Noguchi . We're currently not restoring the SPE decrementer as specified by the CBE handbook. This change fixes our implementation to match, and makes the function read more like the docs. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 4ec3c3d08d4de744b7a1d885529d1e040ec747a4 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Remove asmlinkage from spufs_calls spu_create and spu_run are wrapped by the cell syscall layer, so we don't need the asmlinkage. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 98f06978ffebbec16abdea58489f217229580859 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] cell: Unify spufs syscall path At present, a built-in spufs will not use the spufs_calls callbacks, but directly call sys_spu_create. This saves us an indirect branch, but means we have duplicated functions - one for CONFIG_SPU_FS=y and one for =m. This change unifies the spufs syscall path, and provides access to the spufs_calls structure through a get/put pair. At present, the only user of the spufs_calls structure is spu_syscalls.c, but this will facilitate adding the coredump calls later. Everyone likes numbers, right? Here's a before/after comparison with CONFIG_SPU_FS=y, doing spu_create(); close(); 64k times. Before: [jk@cell ~]$ time ./spu_create performing 65536 spu_create calls real 0m24.075s user 0m0.146s sys 0m23.925s After: [jk@cell ~]$ time ./spu_create performing 65536 spu_create calls real 0m24.777s user 0m0.141s sys 0m24.631s So, we're adding around 11us per syscall, at the benefit of having only one syscall path. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 36ddbb1380f282b4280c57efdb646dd8647a789f Author: Andre Detsch Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Fix race condition on gang->aff_ref_spu Affinity reference point location (gang->aff_ref_spu) is reset when the whole gang is descheduled. However, the last member of a gang can be descheduled while we are trying to schedule another member of the gang. This was leading to a race condition, and the code was using gang->aff_ref_spu in an unsafe manner. By holding the gang->aff_mutex a little bit longer, and increment gang->aff_sched_count (which controls when gang->aff_ref_spu should be reset) a little bit earlier, the problem is fixed. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 8b0d3121a0b2cf91768ecef635e241b6abc3f1da Author: Sebastian Siewior Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Make isolated loader properly aligned According to the comment in spufs_init_isolated_loader(), the isolated loader should be aligned on a 16 byte boundary. ARCH_{KMALLOC,SLAB}_MINALIGN is not defined so only 8 byte alignment is guaranteed. This enforces alignment via __get_free_pages. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 6232a74f25f45a98d8cf64c5d4208f4795eb693d Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Remove spu_harvest Based on an initial patch from Sebastian Siewior spu_harvest isn't used, remove it. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 1e8b0f6d1b4dd5fafe732a24dfcb9ac9fd27cf08 Author: Jeremy Kerr Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Remove asmlinkage from do_spu_create do_spu_create doesn't need the asmlinkage qualifier; remove it. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 1238819a41b6e38e1560afe8f33bbc815671b4f7 Author: Sebastian Siewior Date: Wed Sep 19 14:38:12 2007 +1000 [POWERPC] spufs: Make file-internal functions & variables static There are a few symbols used only in one file within spufs; this change makes them static where suitable. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit aa0154290fc05948560ac43afcccf8259e10bcd0 Author: Olaf Hering Date: Sun Aug 26 19:10:59 2007 +1000 [POWERPC] Fix pmac_zilog debug arg drivers/serial/pmac_zilog.c:1590: warning: format '%d' expects type 'int', but argument 3 has type 'pm_message_t' Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 00efee7d5d0d7888aafbf0d2de76943ee8aca47a Author: Michael Neuling Date: Fri Aug 24 16:58:37 2007 +1000 [POWERPC] Remove barriers from the SLB shadow buffer update After talking to an IBM POWER hypervisor (PHYP) design and development guy, there seems to be no need for memory barriers when updating the SLB shadow buffer provided we only update it from the current CPU, which we do. Also, these guys see no need in the future for these barriers. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 61a564fd2e7ab13ab11a6ce8305433baacf344ef Author: Jesper Juhl Date: Fri Aug 24 09:45:08 2007 +1000 [POWERPC] Don't cast kmalloc return value in ibmebus.c kmalloc() returns a void pointer so there is absolutely no need to cast it in ibmebus_chomp(). Signed-off-by: Jesper Juhl Signed-off-by: Paul Mackerras commit e6b6e3ffb9ee8926f9f2f7dc9147df73e27d5828 Author: Adrian Bunk Date: Mon Aug 27 23:29:53 2007 +0200 [POWERPC] Remove APUS support from arch/ppc Current status of APUS: - arch/powerpc/: removed in 2.6.23 - arch/ppc/: marked BROKEN since 2 years This therefore removes the remaining parts of APUS support from arch/ppc, include/asm-ppc, arch/powerpc and include/asm-powerpc. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 8237bf080e9ef6adc3f2adce26060722685bbb15 Author: Anton Vorontsov Date: Thu Aug 23 15:36:00 2007 +0400 [POWERPC] MPC832x_RDB: Update dts to use SPI1 in QE, register mmc_spi stub Enabled using SPI controller on the MPC832x RDB board. We currently use a modalias of "spidev" as a place holder (replace with "mmc_spie") until the mmc_spi driver support is merged in. This gets us the ability to test SPI until then. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 26f6cb999366a71b8e318bceaf8fafc1ffecae40 Author: Anton Vorontsov Date: Thu Aug 23 15:35:56 2007 +0400 [POWERPC] fsl_soc: add support for fsl_spi Add helper function to setup SPI bus/device information Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit af6a9aabc106b70ab03d6665c713bca3dd3cb195 Author: John Rigby Date: Wed May 23 11:30:55 2007 -0600 [POWERPC] 52xx: Fix mpc52xx_uart_of_assign to use correct index Use idx as index into mpc52xx_uart_nodes instead of i Signed-off-by: John Rigby Signed-off-by: Kumar Gala commit 82925e76db19112cad62066828c1db0bbb3f77e3 Author: Timur Tabi Date: Wed Jul 25 12:30:33 2007 -0500 [POWERPC] 86xx: Fix definition of global-utilites structure The current definition of struct ccsr_guts in immap_86xx.h was for 85xx. This patch fixes that and replaces the vague integer types with sized types of the correct endianness. The unused struct ccsr_pci is also deleted. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit dc967d7f5e5d2c9d01c8ea172a1e231908dba9de Author: Timur Tabi Date: Wed Aug 22 20:07:28 2007 -0500 [POWERPC] add clrsetbits macros This patch adds the clrsetbits_xxx() macros, which are used to set and clear multiple bits in a single read-modify-write operation. Specify the bits to clear in the 'clear' parameter and the bits to set in the 'set' parameter. These macros can also be used to set a multiple-bit bit pattern using a mask, by specifying the mask in the 'clear' parameter and the new bit pattern in the 'set' parameter. There are big-endian and little-endian versions for 8, 16, 32, and 64 bits. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 364f8ffc182ac5431b156ca1915dd81ddd4a592b Author: Anton Vorontsov Date: Thu Aug 23 15:35:53 2007 +0400 [POWERPC] QE: extern par_io_config_pin and par_io_data_set funcs This is needed to configure and control QE pario pins from the kernel. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 5a24e1a1773f284d19859d27f2ba7e50a533aaaf Author: Scott Wood Date: Tue Aug 28 15:16:49 2007 -0500 [PPC] Add clrbits8 and setbits8. These I/O accessors will be used in code under drivers/, which is expected to still work in arch/ppc. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 748a768384e05c021ea6be221b80c62a83d7b520 Author: Kumar Gala Date: Thu Sep 13 15:42:35 2007 -0500 [POWERPC] Fix modpost warnings from head*.S on ppc32 We get warnings like the following from the various ppc32 head*.S files: WARNING: vmlinux.o(.text+0x358): Section mismatch: reference to .init.text:early_init (between 'skpinv' and 'interrupt_base') WARNING: vmlinux.o(.text+0x380): Section mismatch: reference to .init.text:machine_init (between 'skpinv' and 'interrupt_base') WARNING: vmlinux.o(.text+0x384): Section mismatch: reference to .init.text:MMU_init (between 'skpinv' and 'interrupt_base') WARNING: vmlinux.o(.text+0x3aa): Section mismatch: reference to .init.text:start_kernel (between 'skpinv' and 'interrupt_base') WARNING: vmlinux.o(.text+0x3ae): Section mismatch: reference to .init.text:start_kernel (between 'skpinv' and 'interrupt_base') Added a .text.head section simliar to what other architectures do since modpost already excludes this from its warnings. Signed-off-by: Kumar Gala commit 5e14d21e3f28a4181dacff0336040e30942f4921 Author: Kumar Gala Date: Thu Sep 13 01:44:20 2007 -0500 [POWERPC] Add cpu feature for SPE handling Make it so that SPE support can be determined at runtime. This is similiar to how we handle AltiVec. This allows us to have SPE support built in and work on processors with and without SPE. Signed-off-by: Kumar Gala commit d8f1324a5063c833862328ceafabc53ac3cc4f71 Author: Kumar Gala Date: Wed Sep 12 22:14:10 2007 -0500 [POWERPC] 83xx: Removed PCI exclude of PHB Now that the generic code doesn't assign resources for Freescale PHBs we dont have to explicitly exclude it. Signed-off-by: Kumar Gala commit 1b3c5cdab49a605f0e048e1ccbf4cc61a2626485 Author: Kumar Gala Date: Wed Sep 12 18:23:46 2007 -0500 [POWERPC] Move PCI nodes to be sibilings with SOC nodes Updated the device trees to have the PCI nodes be at the same level as the SOC node. This is to make it so that the SOC nodes children address space is just on chip registers and not other bus memory as well. Also, for PCIe nodes added a P2P bridge to handle the virtual P2P bridge that exists in the PHB. Signed-off-by: Kumar Gala commit f0c8ac8083cbd9347b398bfddcca20f1e2786016 Author: Kumar Gala Date: Wed Sep 12 11:52:31 2007 -0500 [POWERPC] DTS cleanup Removed the following cruft from .dts files: * 32-bit in cpu node -- doesn't exist in any spec and not used by kernel * removed built-in (chrp legacy) * Removed #interrupt-cells in places they don't need to be set * Fixed ranges on lite5200* * Removed clock-frequency from i8259 pic node, not sure where this came from * Removed big-endian from i8259 pic nodes, this was just bogus Signed-off-by: Kumar Gala commit 5d54ddcbcf931bf07cd1ce262bda4674ebd1427f Author: Kumar Gala Date: Tue Sep 11 01:25:43 2007 -0500 [POWERPC] 85xx: Add basic Uniprocessor MPC8572 DS port Added basic board port for MPC8572 DS reference platform that is similiar to the MPC8544/33 DS reference platform in uniprocessor mode. Signed-off-by: Kumar Gala commit 26caeb2ee1924d564e8d8190aa783a569532f81a Author: Kumar Gala Date: Fri Aug 24 16:42:53 2007 -0500 [POWERPC] Handle alignment faults on SPE load/store instructions This adds code to handle alignment traps generated by the following SPE (signal processing engine) load/store instructions, by emulating the instruction in the kernel (as is done for other instructions that generate alignment traps): evldd[x] Vector Load Double Word into Double Word [Indexed] evldw[x] Vector Load Double into Two Words [Indexed] evldh[x] Vector Load Double into Four Half Words [Indexed] evlhhesplat[x] Vector Load Half Word into Half Words Even and Splat [Indexed] evlhhousplat[x] Vector Load Half Word into Half Word Odd Unsigned and Splat [Indexed] evlhhossplat[x] Vector Load Half Word into Half Word Odd Signed and Splat [Indexed] evlwhe[x] Vector Load Word into Two Half Words Even [Indexed] evlwhou[x] Vector Load Word into Two Half Words Odd Unsigned (zero-extended) [Indexed] evlwhos[x] Vector Load Word into Two Half Words Odd Signed (with sign extension) [Indexed] evlwwsplat[x] Vector Load Word into Word and Splat [Indexed] evlwhsplat[x] Vector Load Word into Two Half Words and Splat [Indexed] evstdd[x] Vector Store Double of Double [Indexed] evstdw[x] Vector Store Double of Two Words [Indexed] evstdh[x] Vector Store Double of Four Half Words [Indexed] evstwhe[x] Vector Store Word of Two Half Words from Even [Indexed] evstwho[x] Vector Store Word of Two Half Words from Odd [Indexed] evstwwe[x] Vector Store Word of Word from Even [Indexed] evstwwo[x] Vector Store Word of Word from Odd [Indexed] Signed-off-by: Kumar Gala commit f9234736112bf193e5ab451abbfbdf279cc53137 Author: Scott Wood Date: Mon Aug 20 11:38:12 2007 -0500 [POWERPC] fsl_soc.c cleanup 1. Update the way get_brgfreq() finds things in the device tree. It now uses names that are less namespace polluting. The old names are supported until all boards are converted. 2. "size" is changed from unsigned int to int, to match what of_get_property() expects. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 683d00b03eb09a140e25d7f1457d347277bc2619 Author: Jon Loeliger Date: Fri Jul 27 13:24:45 2007 -0500 [POWERPC] 85xx: Remove unnecessary loops_per_jiffy initialization code. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit d347b3291b284e42c90b3f675a8332daf890b85a Author: Jon Loeliger Date: Fri Jul 27 13:24:36 2007 -0500 [POWERPC] 86xx: Remove unnecessary loops_per_jiffy initialization code. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 7f2862c34521ee6006f9c2678d68a02dc57b5444 Author: Guennadi Liakhovetski Date: Sun Aug 26 00:08:11 2007 +0200 [POWERPC] linkstation updates 1. Fix RTC type - it is a rs5c372a, not rs5c372b 2. Configure both UART interrupts edge-triggered 3. Add a license header to ls_uart.c 4. Check for running on linkstation in a late_initcall() function. Needed for multiplatform builds, even though linkstation doesn't support them yet 5. Remove unneeded #include from linkstation.c Signed-off-by: Guennadi Liakhovetski Signed-off-by: Kumar Gala commit 7f50382dc87988d618f2d47364b22ad5973a968d Author: Kumar Gala Date: Fri Aug 17 09:26:40 2007 -0500 [POWERPC] 85xx: Clean up from 85xx_ds rename Renamed functions in 85xx_ds from 8544 to 85xx. Kept an unique machine def/probe for the MPC8544 DS board to handle some subtle differences between the future board based on the DS platform. Also fixed building w/o CONFIG_PCI and minor whitespace fixes. Signed-off-by: Kumar Gala commit 16d24060d1df9e38dd11ffb0a8afcb5e69a08e3c Author: Kumar Gala Date: Fri Aug 17 09:22:09 2007 -0500 [POWERPC] 85xx: Renamed mpc8544_ds.c to mpc85xx_ds.c Renamed the mpc8544_ds.c board code to mpc85xx_ds.c to make it more generic in prep for other boards based on the same platform. Signed-off-by: Kumar Gala commit 89a300e85b646dd08343264f025f4f412d552bfd Author: Kumar Gala Date: Wed Aug 22 21:49:01 2007 -0500 ucc_geth: kill unused include The ucc_geth_mii code is based on the gianfar_mii code that use to include ocp.h. ucc never need this and it causes issues when we want to kill arch/ppc includes from arch/powerpc. Signed-off-by: Kumar Gala commit 75cdff9242c4e048cb830d359920719d29b9ee7c Author: Geoff Levand Date: Wed Sep 12 18:43:17 2007 +1000 [POWERPC] PS3: Enhance storage probe debug output Add some more info to the PS3 storage probe debug output. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 06462d9263e168da3ecdff5a3d95ed470a91bbdc Author: Geert Uytterhoeven Date: Wed Sep 12 18:43:16 2007 +1000 [POWERPC] PS3: Add new LV1 error codes Add new error codes that may be returned by the LV1 hypervisor Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 85d02924a38789be35e83adba32eb6690535cfb0 Author: Jeremy Kerr Date: Wed Sep 12 18:43:15 2007 +1000 [POWERPC] PS3: Fix CONFIG_SMP=n, CONFIG_KEXEC=y build Currently, the ps3 kernel fails to build without smp but with kexec, as ps3_kexec_cpu_down needs ps3_smp_cleanup_cpu, which isn't defined on UP kernels. This change adds an empty ps3_smp_cleanup_cpu for UP kernels. Booted on ps3. Signed-off-by: Jeremy Kerr Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0d72ba930cbc9140a584af7e4e65041b6c7a7d18 Author: Olof Johansson Date: Sat Sep 8 05:13:19 2007 +1000 [POWERPC] Add workaround for MPICs with broken register reads Some versions of PWRficient 1682M have an interrupt controller in which the first register in each pair for interrupt sources doesn't always read with the right polarity/sense values. To work around this, keep a software copy of the register instead. Since it's not modified from the mpic itself, it's a feasible solution. Still, keep it under a config option to avoid wasting memory on other platforms. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 2099172d61abda1b793b499bb8edcaac4de2cdae Author: David Gibson Date: Fri Sep 7 13:23:53 2007 +1000 [POWERPC] Document and implement an improved flash device binding for powerpc This replaces the binding for flash chips in booting-without-of.txt with an clarified and improved version. It also makes drivers/mtd/maps/physmap_of.c recognize this new binding. Finally it revises the Ebony device tree source to use the new binding as an example. Signed-off-by: David Gibson Acked-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 3c607ce2a3213f33b8b6b854b5f7db876021e466 Author: Linas Vepstas Date: Fri Sep 7 03:47:29 2007 +1000 [POWERPC] setup_64.c and prom.c comment cleanup Grammatical corrections to comments. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 70c6cc37db342d9f970884e12744ab5ee290d4ad Author: Linas Vepstas Date: Fri Sep 7 03:46:15 2007 +1000 [POWERPC] prom.c whitespace cleanup Whitespace cleanup: badly indented lines. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit e788ff13be03c2cc4055d5569b7b218dc3f2cb7b Author: Linas Vepstas Date: Fri Sep 7 03:45:21 2007 +1000 [POWERPC] prom_init whitespace cleanup, typo fix Whitespace cleanup: badly indented lines. Typo in comment. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit bde6c6e16aa489ea76c762fb7ffb0abb48660dd8 Author: Scott Wood Date: Thu Sep 6 08:04:38 2007 +1000 [POWERPC] Check _PAGE_RW and _PAGE_PRESENT on kernel addresses Previously, the TLB miss handlers assumed that pages above KERNELBASE are always present and read/write. This assumption is false in the case of CONFIG_DEBUG_PAGEALLOC. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 96ebc3bfb6ddedd5a400d5653b50551d5a3de439 Author: Scott Wood Date: Thu Sep 6 05:21:18 2007 +1000 [POWERPC] bootwrapper: Only print MAC addresses when the node is actually present Some firmwares (such as PlanetCore) only provide a base MAC address, and expect the kernel to set certain bits to generate the addresses for the other ports. As such, MAC addresses are generated that may not correspond to actual hardware. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 21f3fe2f7ab57832ea1fc7f719ec7e167b7ad80e Author: Scott Wood Date: Thu Sep 6 05:21:12 2007 +1000 [POWERPC] bootwrapper: Add get_path() This will be used by the PlanetCore firmware support to construct a linux,stdout-path from the serial node that it finds. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 9de782770b84768e1aa2e6454223ef30768de84e Author: Scott Wood Date: Thu Sep 6 05:21:10 2007 +1000 [POWERPC] bootwrapper: Add strtoull() This will be needed by PlanetCore firmware support. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 4674f2f33948432469e52d5bcaeda9904e34fe46 Author: Scott Wood Date: Thu Sep 6 05:21:04 2007 +1000 [POWERPC] bootwrapper: flatdevtree fixes 1. ft_create_node was returning the internal pointer rather than a phandle. 2. ft_find_device_rel was treating a "top" phandle of NULL as an error, rather than as the root of the tree. The old, absolute ft_find_device is removed, and the relative version is renamed to ft_find_device(). Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 6bcc4c01755fd2066bc374193cf3b0849cbabe47 Author: Olof Johansson Date: Wed Sep 5 12:43:17 2007 +1000 [POWERPC] Remove warning in arch/powerpc/kernel/sysfs.c Fixes: arch/powerpc/kernel/sysfs.c: In function 'cpu_add_sysdev_attr_group': arch/powerpc/kernel/sysfs.c:388: warning: ignoring return value of 'sysfs_create_group', declared with attribute warn_unused_result Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit a416561bf790d55db68b2980c2a6951981018041 Author: Olof Johansson Date: Wed Sep 5 12:42:30 2007 +1000 [POWERPC] Move lowlevel runlatch calls under cpu feature control There's no need to call the runlatch on functions on processors that don't implement them (CPU_FTR_CTRL). Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 01f1c735f57548e6b862e815cc845e452405643d Author: Olof Johansson Date: Wed Sep 5 12:41:09 2007 +1000 [POWERPC] Remove unused platform_machine_check() Remove leftover cruft from ARCH=ppc. There are no users of platform_machine_check() in ARCH=powerpc, and none should be added (they should use ppc_md.machine_check_handler instead). Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 3850169dbddcc9e53fd550eb093af7da5dfcefa9 Author: Olof Johansson Date: Wed Sep 5 12:09:45 2007 +1000 [POWERPC] pasemi: Move pasemi_idle_init() to late_initcall() Move pasemi_idle_init() to be a late_initcall instead of being called from setup_arch(). This way the cpufreq driver has a chance to initialize and save away the boot time astate before we go to idle for the first time. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit cd7834167ffb66b470e4d9edb10efb5c1a2dfe7f Author: Olof Johansson Date: Wed Sep 5 12:09:23 2007 +1000 [POWERPC] pasemi: Print more information at machine check Add printout of some SoC error status registers, and dump the SLB contents for those machine check events where it makes sense. Since we can't go about and ioremap registers at machine check time, and we generally want to do as little as possible to print out the information, pre-build a table of the registers to dump and their address in the common PCI config space range. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 2e1957fd47b9d4b7bf35be2ec3d4b5e3eefe5cc0 Author: Olof Johansson Date: Wed Sep 5 12:09:06 2007 +1000 [POWERPC] pasemi: Export more SPRs to sysfs when CONFIG_DEBUG_KERNEL=y Export some of the implementation-specific registers via sysfs. Useful when debugging, etc. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 4d442331e57b7bbc28b5a20f7d069bc12e9c503e Author: Olof Johansson Date: Wed Sep 5 12:08:50 2007 +1000 [POWERPC] pasemi: Add workaround for erratum 5945 Erratum 5945 causes some of the registers on the PCIe root ports to not read correctly. Do a small dance to avoid this: Write an unused register, read the value and write it back. Thankfully this is not in a hot code path. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 68c8404c742fdda2151b4bf6bd98419bf8118481 Author: Olof Johansson Date: Wed Sep 5 12:08:30 2007 +1000 [POWERPC] pasemi: Add pasemi_pci_getcfgaddr() Add pasemi_pci_getcfgaddr(), to get the remapped address of a specific config register for a PCI device. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit a302cb9d95978505b18c12be0cd1e41556564f68 Author: Olof Johansson Date: Fri Aug 31 13:58:51 2007 +1000 [POWERPC] Export new __io{re,un}map_at() symbols Export new __io{re,un}map_at() symbols so modules can use them. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 60b332e755da7dbf32f1660973ce4f97ebf05d05 Author: Michael Ellerman Date: Tue Aug 28 18:47:57 2007 +1000 [POWERPC] Export virq mapping via debugfs This adds a debugfs file "powerpc/virq_mapping", which shows the virtual to real mapping of irq numbers. Enable it with CONFIG_VIRQ_DEBUG. Signed-off-by: Zhang Wei Signed-off-by: Chen Gong Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 7866291d4cabf5491d4ecb62787308f8b8958f59 Author: Michael Ellerman Date: Tue Aug 28 18:47:56 2007 +1000 [POWERPC] Initialise hwirq for legacy irqs Although no one uses the hwirq value for legacy irqs at the moment, we should really setup the correct value in the irq_map. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 6815800601d3e46b976c868e4e85fb6de32b9133 Author: Michael Ellerman Date: Tue Aug 28 18:47:55 2007 +1000 [POWERPC] Provide a default irq_host match, which matches on an exact of_node The most common match semantic is an exact match based on the device node. So provide a default implementation that does this, and hook it up if no match routine is specified. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 8528ab84ebe7a1eeed9b0acc808df86663d506c0 Author: Michael Ellerman Date: Tue Aug 28 18:47:55 2007 +1000 [POWERPC] Invert null match behaviour for irq_hosts Currently if you don't specify a match callback for your irq_host it's assumed you match everything. This is a kind of opt-out approach, and turns out to be the exception rather than the rule. So change the semantics to be opt-in, ie. you don't match anything unless you provide a match callback. This in itself isn't very useful, but will allow us to provide a default match implementation in a subsequent patch. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 52964f87c64e6c6ea671b5bf3030fb1494090a48 Author: Michael Ellerman Date: Tue Aug 28 18:47:54 2007 +1000 [POWERPC] Add an optional device_node pointer to the irq_host The majority of irq_host implementations (3 out of 4) are associated with a device_node, and need to stash it somewhere. Rather than having it somewhere different for each host, add an optional device_node pointer to the irq_host structure. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 0ae0b54565a8dcc2b98de694b998e765de15b713 Author: David Gibson Date: Tue Aug 28 14:52:57 2007 +1000 [POWERPC] Move bootwrapper's strchr() and strncmp() from .h to string.S Currently the bootwrapper has implementations of strchr() and strncmp(), but they're inlines in flatdevtree_env.h, rather than in string.S with all the rest of the string functions. This moves them to string.S. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 768cc2d3b2768ca34f254e8190f1f9e297b09ad4 Author: Linas Vepstas Date: Wed Jul 18 02:09:35 2007 +1000 [POWERPC] IOMMU virtual merge is no longer experimental Per conversations with BenH, IOMMU virtual merging should no longer be considered to be an "experimental" feature. In particular, CONFIG_VMERGE has been set to "y" in the defconfigs for quite a while. Signed-off-by: Linas Vepstas Acked-by: Benjamin Herrenschmidt ---- arch/powerpc/Kconfig | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) Signed-off-by: Paul Mackerras commit b2315372eac9cd9f622c32a93e323cf6f0f03462 Merge: 5326152... c87ce65... Author: Paul Mackerras Date: Fri Sep 14 01:24:25 2007 +1000 Merge branch 'linux-2.6' into for-2.6.24 commit 5041f1f1b753031731bc404c906817323a9c280b Author: Yoichi Yuasa Date: Sun Sep 9 23:35:25 2007 +0900 [MTD] Remove Momenco Ocelot NOR flash support This patch has removed Momenco Ocelot support from MTD. Ocelot support has already removed. Signed-off-by: Yoichi Yuasa Signed-off-by: David Woodhouse commit 5326152fa182b0a16e4abf913ce403e3c7ab53b7 Author: Josh Boyer Date: Fri Sep 7 07:51:44 2007 -0500 [POWERPC] Walnut zImage wrapper Add zImage wrapper for walnut board Signed-off-by: Josh Boyer Acked-by: David Gibson commit 545c069ccd76a0f1f3ceacd8ba5bc8f5208eb727 Author: Josh Boyer Date: Fri Sep 7 07:51:24 2007 -0500 [POWERPC] Walnut board support Board support for the PPC405 Walnut evaluation board Signed-off-by: Josh Boyer Acked-by: David Gibson commit 7f2814d229905c35d7c38798891adf00286fdca4 Author: Josh Boyer Date: Fri Sep 7 07:51:08 2007 -0500 [POWERPC] Walnut defconfig Walnut board defconfig Signed-off-by: Josh Boyer commit 8852ab7afc2397779f9ea926187dbc4e0452ab47 Author: Josh Boyer Date: Fri Sep 7 07:50:50 2007 -0500 [POWERPC] Walnut DTS Device tree source file for the PPC405 Walnut evaluation board. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 1f6e57952180cd54e245241b74f4b9cb10c24f98 Author: Josh Boyer Date: Fri Sep 7 07:50:26 2007 -0500 [POWERPC] Fix bus probe on Bamboo board Commit 804ace8881d21 changed the behavior of how compatible nodes are found. This highlighted a bug on the Bamboo board where it wasn't probing the bus specified in the DTS file. We fix it by being explicit about which bus to probe. Signed-off-by: Josh Boyer Acked-by: David Gibson commit c9c6b744d8a2a95ef6d5c8389964df5148e3102a Author: Josh Boyer Date: Fri Sep 7 07:49:59 2007 -0500 [POWERPC] Remove dtc build cruft from DTS files The patch below removes the dtc incantation instructions from the in-kernel DTS files. It's not needed, and is prone to being out-of-date most of the time. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 606d08bcd674073e0e505cb1eb4ff1516c3b498a Author: Valentine Barshak Date: Wed Aug 29 17:38:30 2007 +0400 [POWERPC] PowerPC 440EPx: Sequoia bootwrapper Bootwrapper code for AMCC PPC440EPx Sequoia. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit 15fc993e31293f9b179eb5f08b18a4a4f2ca648a Author: Valentine Barshak Date: Wed Aug 29 17:40:30 2007 +0400 [POWERPC] PowerPC 440EPx: Sequoia board support AMCC PPC440EPx Sequoia board support. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit 38a5d6c9e79c2dbf3b23fb6fe8c2b51551bc9ee3 Author: Valentine Barshak Date: Wed Aug 29 17:41:28 2007 +0400 [POWERPC] PowerPC 440EPx: Sequoia defconfig AMCC PPC440EPx Sequoia default config. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit d60ff953652f0a2f74ad17ab2d9a0e928c1902d3 Author: Valentine Barshak Date: Wed Aug 29 17:39:42 2007 +0400 [POWERPC] PowerPC 440EPx: Sequoia device tree AMCC PPC440EPx Sequoia device tree. Signed-off-by: Valentine Barshak Acked-by: David Gibson Signed-off-by: Josh Boyer commit 98b830d26095007aeb04041147b93d2b74e0a0c0 Author: Artem Bityutskiy Date: Tue Aug 28 20:33:32 2007 +0300 [MTD] [NAND] nandsim: avoid deadlocking FS Make nandsim use GFP_NOFS when allocating memory, because it might be used by a file-system (e.g. UBIFS2) which means, if we are short of memory, we may deadlock. Indee, UBIFS is holding a lock, writes to the media, reaches this place in NANDsim, kmalloc does not find the requested amount of RAM, calls memory shrinker, which decides to writeback inodes, calls FS, and it deadlocks on the lock which is already being held. Below is the UBIFS backtrace which demonstrates that: [] __mutex_lock_slowpath+0xc8/0x2e6 [] mutex_lock+0x1c/0x1f [] reserve_space+0x3d/0xa9 [ubifs] [] make_one_reservation+0x2b/0x86 [ubifs] [] ubifs_jrn_write_block+0xda/0x12f [ubifs] [] ubifs_writepage+0x11d/0x1ec [ubifs] [] shrink_inactive_list+0x7fa/0x969 [] shrink_zone+0xae/0x10c [] try_to_free_pages+0x159/0x251 [] __alloc_pages+0x125/0x2f0 [] cache_alloc_refill+0x380/0x6ba [] __kmalloc+0x14f/0x157 [] do_state_action+0xab7/0xc74 [nandsim] [] switch_state+0x225/0x402 [nandsim] [] ns_hwcontrol+0x3e2/0x620 [nandsim] [] nand_command+0x2e/0x1a5 [nand] [] nand_write_page+0x4a/0x9a [nand] [] nand_do_write_ops+0x1cf/0x343 [nand] [] nand_write+0x88/0xa6 [nand] [] part_write+0x72/0x8b [mtd] [] ubi_io_write+0x189/0x29c [ubi] [] ubi_eba_write_leb+0xb6/0x699 [ubi] [] ubi_leb_write+0xe4/0xe9 [ubi] [] ubifs_wbuf_write_nolock+0x333/0x4c9 [ubifs] [] write_node+0x74/0x8e [ubifs] [] ubifs_jrn_write_block+0x100/0x12f [ubifs] [] ubifs_writepage+0x11d/0x1ec [ubifs] [] __writepage+0xb/0x26 [] write_cache_pages+0x203/0x2d9 [] generic_writepages+0x23/0x2d [] do_writepages+0x37/0x39 [] __writeback_single_inode+0x96/0x399 [] sync_sb_inodes+0x1a3/0x274 [] writeback_inodes+0xa6/0xd8 [] background_writeout+0x86/0x9e [] pdflush+0xfb/0x1b6 [] kthread+0x37/0x59 [] kernel_thread_helper+0x7/0x14 The deadlock is funny because it starts in pdflush/writeback, and comes back to writeback, then deadlocks. It seems we should look carefully for other places in UBI and MTD and use GFP_NOFS instead of GFP_KERNEL. Caught-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 241651d04d672fb685b2874707016cbbf95931e5 Author: David Woodhouse Date: Thu Sep 6 09:40:21 2007 +0100 [MTD] Fix CFI build error when no map width or interleave supported When building NOR flash support, you have compile-time options for the bus width and the number of individual chips which are interleaved together onto that bus. The code to deal with arbitrary geometry is a bit convoluted, and people want to just configure it for the specific hardware they have, to avoid the runtime overhead. Selecting _none_ of the available options doesn't make any sense. You should have at least one. This makes it build though, since people persist in trying. Signed-off-by: David Woodhouse commit d15057b7034d9fdc4259b66a0367c9d8ffcf0620 Author: Kyungmin Park Date: Thu Sep 6 10:06:12 2007 +0900 [MTD] [OneNAND] main read/write ops support for yaffs2 Now we can use yaffs2 on OneNAND Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 12f77c9eed0d2a9f598500d9c1e3dd48883f1d0c Author: Kyungmin Park Date: Thu Aug 30 09:36:05 2007 +0900 [MTD] [OneNAND] Use mtd_oob_ops at oob functions To enable the main read/write at oob ops Next time we will commit the main read/write support for yaffs2 Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit e208520ed664db0f7584048ae09e5d2afda43714 Author: Jörn Engel Date: Wed Aug 29 17:57:11 2007 +0200 [MTD] [NAND] Driver for Olympus MAUSB-10 and Fujifilm DPC-R1 card readers Unlike most stuff on the market the chip inside these two allows raw flash access and doesn't implement and FTL, leaving that functionality to the device driver. Raw flash access in a cheap USB cardreader! An MTD test device one can attach to a PC! What a deal! The command set of the chip is not documented, so information was obtained from the existing mass-storage driver (drivers/usb/storage/alauda.c), its documentation (http://alauda.sourceforge.net/wikka.php?wakka=BulkCommandReference), additional reverse engineering and comparison with a vendor driver for a related chip (http://www.ratocsystems.com/english/download/driver/linux/sma03u.html). Signed-off-by: Joern Engel Signed-off-by: David Woodhouse commit 35438c4327df18dbf5e7f597b69299119f4a14de Merge: 2f6c9d9... b07d68b... Author: Paul Mackerras Date: Tue Aug 28 15:56:11 2007 +1000 Merge branch 'linux-2.6' into for-2.6.24 commit 62d24d91109c3bcd5a5d3fe6cbe354e65e787300 Merge: ac0c955... 34a27ff... Author: David Woodhouse Date: Thu Aug 23 10:44:17 2007 +0100 Merge branch 'mtd-2.6.24' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc commit ac0c955d5048c2c580fa7166a89133f0fd76c125 Merge: 68d09b1... b377fd3... Author: David Woodhouse Date: Thu Aug 23 10:43:14 2007 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 34a27ffdf59f80fe165f5c56a0be57d55b6da63d Author: Kumar Gala Date: Wed Aug 22 22:53:39 2007 -0500 [MTD] Remove dead maps The tqm834x map Kconfig options depends on TQM834x which does not exist anywhere else in the kernel. The pq2fads map Kconfig/makefile support was removed a while ago but the actual file persisted. Signed-off-by: Kumar Gala commit 3feb0ff1607ab3b7dcd36b2347f00c41774464c8 Author: Josh Boyer Date: Wed Aug 22 14:30:47 2007 -0500 [MTD] 4xx: Don't build arch/ppc dependent drivers in arch/powerpc These drivers are specific to 4xx support in arch/ppc at the moment. Make sure they don't get built on arch/powerpc. Signed-off-by: Josh Boyer Signed-off-by: Kumar Gala commit 2f6c9d961081dc7b109eb19166244bcb2a5dfc28 Author: Kumar Gala Date: Fri Aug 17 01:52:39 2007 -0500 [POWERPC] Stop include asm-ppc when building ARCH=powerpc for ppc32 We no longer have any dependancies on include/asm-ppc so we can get ride of the makefile hacks to include it in the build process. Signed-off-by: Kumar Gala commit 33d71d26ba982f99b8cb76b86b2e1e0a0964a8ac Author: Kumar Gala Date: Mon Aug 20 08:50:28 2007 -0500 [POWERPC] Copy over headers from arch/ppc to arch/powerpc that we need To build arch/powerpc without including asm-ppc/ we need these files in asm-powerpc/ Moved some headers under arch/powerpc/platforms if they were only used by platform or driver files and fixed up the source file includes to match the new locations Signed-off-by: Kumar Gala commit ed16c20da6f500bc2dfad933078d2987636a7b60 Author: Kumar Gala Date: Fri Aug 17 01:47:39 2007 -0500 [POWERPC] Remove old includes from arch/ppc Remove includes of files that existed in arch/ppc that we dont need in arch/powerpc anymore. The following includes were removed: This also caused platforms/embedded6xx/mpc7448_hpc2.h to no longer be needed and thus removed. Signed-off-by: Kumar Gala commit 68d09b1b6780415d82160f6b6d88e82bd724e691 Author: Andrew Morton Date: Fri Aug 10 14:01:31 2007 -0700 [MTD] mtdoops printk warning fixes drivers/mtd/mtdoops.c: In function 'mtdoops_inc_counter': drivers/mtd/mtdoops.c:109: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/mtd/mtdoops.c: In function 'mtdoops_console_sync': drivers/mtd/mtdoops.c:277: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' someone buy Dave an x86_64 box. Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f4e35647f5c0ac24ca1ba14f84bf817ec0483b72 Author: Andrew Morton Date: Fri Aug 10 14:01:30 2007 -0700 [JFFS2] fix printk warning in jffs2_block_check_erase() fs/jffs2/erase.c: In function 'jffs2_block_check_erase': fs/jffs2/erase.c:355: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' and fs/jffs2/erase.c: In function 'jffs2_erase_pending_blocks': fs/jffs2/erase.c:404: warning: 'bad_offset' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 9ed437c50d89eabae763dd422579f73fdebf288d Author: David Woodhouse Date: Wed Aug 22 12:39:19 2007 +0100 [JFFS2] Fix ACL vs. mode handling. When POSIX ACL support was enabled, we weren't writing correct legacy modes to the medium on inode creation, or when the ACL was set. This meant that the permissions would be incorrect after the file system was remounted. Signed-off-by: David Woodhouse commit 5b072ba453078293b8f6de8cdd79d9c26f015238 Author: Stephen Rothwell Date: Wed Aug 22 13:49:41 2007 +1000 [POWERPC] Exception numbers are not relevant to iSeries so remove them from the macros. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7180e3e636deff82f8810291878a184f21142fa9 Author: Stephen Rothwell Date: Wed Aug 22 13:48:37 2007 +1000 [POWERPC] Split out iSeries specific exception macros Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit dc8f571a26689102f6abe2565a84226edeaacc61 Author: Stephen Rothwell Date: Wed Aug 22 13:47:24 2007 +1000 [POWERPC] Move the iSeries exception vectors out of head_64.S and into platforms/iseries/exception.S Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f9ff0f304833be9a6a605c84e24d630d5aef2230 Author: Stephen Rothwell Date: Wed Aug 22 13:46:44 2007 +1000 [POWERPC] Move the exception macros into a header file It makes head_64.S a bit more readable and will allow us to move the iSeries exceptions elsewhere. This also removes the last line of the comment: * The following macros define the code that appears as * the prologue to each of the exception handlers. They * are split into two parts to allow a single kernel binary * to be used for pSeries and iSeries. * LOL. One day... - paulus Anything is possible. :-) Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit fc68e8699f1f987060ef817cff6a13a7cd7d4c8a Author: Stephen Rothwell Date: Wed Aug 22 13:44:58 2007 +1000 [POWERPC] Move iSeries startup code out of head_64.S Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit dc559f7cd5d6d11a99b6c29402b31fbb3f3a1db0 Author: Olof Johansson Date: Wed Aug 22 12:26:43 2007 +1000 [POWERPC] Rework SMP timebase handoff for pasemi Rework timebase handoff to play nice with configurations with more than 2 cores, as well as with CPU hotplug. Previous scheme just pushed out the current timebase from the giving core to all cores without caring if they wanted it or not, nor checking if they'd taken it. The taking side didn't make sure the giving side had provided a value yet either. In other words, it was completely broken. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit e5d8d54db25790524da34b0143f4e0176fb7677b Author: Scott Wood Date: Tue Aug 21 03:40:02 2007 +1000 [POWERPC] bootwrapper: Add PowerQUICC II (82xx with CPM) cuboot support This allows booting on legacy, non-device-tree aware versions of U-boot. It also fixes up the hardware to match the PCI and chipselect information in the device tree, as u-boot is inconsistent in setting these up correctly (or at all). Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 0b195812dfbccc2ac33e17b35b899dd4fea7611f Author: Scott Wood Date: Tue Aug 21 03:40:01 2007 +1000 [POWERPC] bootwrapper: Add 8xx cuboot support This allows booting on legacy, non-device-tree aware versions of U-boot. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 2f1d4899321be87bc5f0c4ee0e62c9d9ced05f80 Author: Scott Wood Date: Tue Aug 21 03:39:58 2007 +1000 [POWERPC] bootwrapper: Move linker symbols into ops.h Most of these were previously used by numerous C files and redeclared in each one. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit d0f53fafc016b3f4f20f63ecf52f6df8774bcb3c Author: Scott Wood Date: Tue Aug 21 03:39:57 2007 +1000 [POWERPC] bootwrapper: Add CPM serial driver This serial port is used on all 8xx, many 82xx, and some 85xx chips. The driver requires that the port has already been set up by the firmware and/or platform code. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 3ee9b7abafc36a9377af6f036f50c3450954884c Author: Scott Wood Date: Tue Aug 21 03:39:55 2007 +1000 [POWERPC] bootwrapper: Declare udelay() in ops.h Declarations in various users are removed. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit dc4f397d6e385c4ea0fe9732df911a86f1a78c9a Author: Scott Wood Date: Tue Aug 21 03:39:54 2007 +1000 [POWERPC] bootwrapper: serial_console_init() fixes 1. Search the entire compatible list for serial devices. The serial code previously did a simple strcmp on the compatible node; this fails when the match string is not the first compatible listed. Use dt_is_compatible() instead. 2. Don't call serial_edit_cmdline if getc isn't defined. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 61d3b949b70802c4f32d540b11a93128c31c67ea Author: Scott Wood Date: Tue Aug 21 03:39:52 2007 +1000 [POWERPC] bootwrapper: Add TARGET_HAS_ETHn tests to ppcboot.h U-boots more recent than when ppcboot.h was forked allow the board config file to enable additional ethernet ports explicitly, rather than using a hardcoded list of targets. This allows bootwrapper platform files to do the same. Fortunately, nothing after the ethernet addresses is of interest to cuboot platforms, so the inevitable mismatches won't be too catastrophic. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 6e913c67b3eb93e2b8bc1dc0ff854f00a760f41b Author: Scott Wood Date: Tue Aug 21 03:39:51 2007 +1000 [POWERPC] bootwrapper: Add 16-bit I/O, sync(), eieio(), and barrier() Also, include types.h from io.h, so callers don't have to. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit a73ac50c4787b1b28d5c94bb18c60352f5dd7d6f Author: Scott Wood Date: Tue Aug 21 03:39:48 2007 +1000 [POWERPC] bootwrapper: Add dt_is_compatible() This can be used rather than doing a simple strcmp, which will fail to handle multiple compatible entries. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 0602801c22ea1767cd0298b11da140bd5cb764d2 Author: Scott Wood Date: Tue Aug 21 03:39:46 2007 +1000 [POWERPC] bootwrapper: dt_xlate_range() bugfixes 1. The check whether ranges fits in the buffer was using elements rather than bytes. 2. Empty ranges were not properly treated as transparent, and missing ranges were treated as transparent. 3. The loop terminated when translating from the root rather than to. Once bug #2 was fixed, it failed due to a missing ranges in the root node. 4. In decoding the ranges property, the #size-cells used was that of the parent, not the child. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 643d3c139b0a5289d7f0ba19fdcb24be6d7e768f Author: Scott Wood Date: Tue Aug 21 03:39:45 2007 +1000 [POWERPC] bootwrapper: Set timebase_period_ns from dt_fixup_cpu_clocks This lets udelay() work properly on platforms which use dt_fixup_cpu_clocks. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 44d06ba72990893eb5506516b25ccaf3a757ffc0 Author: Scott Wood Date: Tue Aug 21 03:39:20 2007 +1000 [POWERPC] bootwrapper: Update .gitignore All cuImage types are ignored, as well as preprocessed .lds files, and the forthcoming zImage.bin files and embedded planet board images. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 804ace8881d211ac448082e871dd312132393049 Author: Scott Wood Date: Tue Aug 21 02:36:59 2007 +1000 [POWERPC] Use strcasecmp() rather than strncasecmp() when determining device node compatibility The current code assumes "foo-bar" must always be compatible with a node compatible with "foo", which breaks device trees where this is not so. The "case" part is also wrong according to Open Firmware, but it's more likely to have drivers and/or device trees depending on it, and thus needs to be handled more carefully. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 12cdac34c6e90d887de23ab9747185731cba254a Author: Scott Wood Date: Tue Aug 21 02:36:58 2007 +1000 [POWERPC] Add clrbits8 and setbits8 Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 4b218e9bb2fbbc57b5a05de41d77c056a134528c Author: Scott Wood Date: Tue Aug 21 02:36:19 2007 +1000 [POWERPC] Whitespace cleanup in arch/powerpc Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 16a15a30f8a09af6ce2dc4fd6eec9b454c1fe488 Author: Stephen Rothwell Date: Mon Aug 20 14:58:36 2007 +1000 [POWERPC] iSeries: Clean up lparmap mess We need to have xLparMap in head_64.S so that it is at a fixed address (because the linker will not resolve (address & 0xffffffff) for us). But the assembler miscalculates the KERNEL_VSID() expressions. So put the confusing expressions into asm-offsets.c. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 556ecf9be66f4d493e19bc71a7ce84366d512b71 Author: Olaf Hering Date: Sat Aug 18 04:27:17 2007 +1000 [POWERPC] Advertise correct IDE mode on Pegasos2 The built-in IDE controller is configured in legacy mode, but the PCI registers advertise native mode. Force the PCI class into legacy mode. This allows pata_via to access two drives. The Pegasos specific irq enforcement in the via82cxxx driver must stay because there is apparently no generic way to setup irq per channel. Tested on Pegasos2 with firmware version 20040810, and two IDE disks. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 2ba4573cdaf98b0f3acb8795a66f412c1c41284a Author: Josh Boyer Date: Mon Aug 20 07:30:32 2007 -0500 [POWERPC] Bamboo zImage wrapper Add a bootwrapper for the AMCC 440EP Bamboo Eval board. This also adds a common fixup_clock function for all 440EP(x) chips. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 8c1449bdb4c7e9c4492ba18ded70fd8669eeffae Author: Josh Boyer Date: Mon Aug 20 07:30:14 2007 -0500 [POWERPC] Bamboo board support Add support for the AMCC Bamboo board Signed-off-by: Josh Boyer Acked-by: David Gibson commit 142b58ee5600e592e83ff7d2e4672e6cb0b39c27 Author: Josh Boyer Date: Mon Aug 20 07:29:55 2007 -0500 [POWERPC] Bamboo DTS AMCC Bamboo board DTS Signed-off-by: Josh Boyer commit 1daa194a87b3ea77760b4b5361eb47900dfc00a9 Author: Josh Boyer Date: Mon Aug 20 07:29:36 2007 -0500 [POWERPC] Fix 40x build Remove inclusion of __res on 40x. We don't need it in arch/powerpc Signed-off-by: Josh Boyer Acked-by: David Gibson commit aab69292e4efd38181cd300d9b83b12592643d6c Author: Josh Boyer Date: Mon Aug 20 07:29:11 2007 -0500 [POWERPC] 40x decrementer fixes Allow generic_calibrate_decr to work for 40x platforms. Given that the hardware behavior is identical, this also changes the set_dec function to reload the PIT on 40x to match the behavior 44x currently has. Signed-off-by: Josh Boyer commit 4d922c8dc332f4c7bc156fa832187661d4899cee Author: Josh Boyer Date: Mon Aug 20 07:28:48 2007 -0500 [POWERPC] 40x MMU Add MMU definitions for 40x platforms. Also fixes two warnings in 40x_mmu.c. Signed-off-by: Josh Boyer Acked-by: David Gibson commit e90f3b74d884d0f2826e06dbab4f615ca346eaa4 Author: Josh Boyer Date: Mon Aug 20 07:28:30 2007 -0500 [POWERPC] 4xx bootwrapper reworks Make the fixup_memsize function common for all of 4xx as several chips share the same SDRAM controller. Also add functions to reset 40x chips and quiesce the ethernet. Signed-off-by: Josh Boyer commit 869680c16fb028ac4ad9a449283e0514789c654a Author: Josh Boyer Date: Mon Aug 20 07:28:05 2007 -0500 [POWERPC] Rename 44x bootwrapper Rename the 44x.c wrapper file to 4xx.c. This will allow us to add common functions in a single file that can be shared across all of 4xx. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 3cc248ae6eaac4175047d1fdc4fadd8a94651f83 Author: Josh Boyer Date: Mon Aug 20 07:27:42 2007 -0500 [POWERPC] 4xx Kconfig cleanup Remove some leftover cruft in the 40x Kconfig file. Also make sure we select WANT_DEVICE_TREE for 40x. Signed-off-by: Josh Boyer Acked-by: David Gibson commit 15f6527e8e63e793f8ab1ddce4ed3c487ebd0d42 Author: Josh Boyer Date: Mon Aug 20 07:27:07 2007 -0500 [POWERPC] Rename 4xx paths to 40x 4xx is a bit of a misnomer for certain things, as they really apply to PowerPC 40x only. Rename some of the files to clean this up. Signed-off-by: Josh Boyer Acked-by: David Gibson commit a65517f857bf6657839957617af942a4b631fba5 Author: Stephen Rothwell Date: Thu Aug 16 11:19:19 2007 +1000 [POWERPC] Remove some duplicate declarations from pmac.h Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit e78bb5dc2e0515dce2ac2c590d66405028b7ccd6 Author: Guennadi Liakhovetski Date: Thu Aug 16 05:15:03 2007 +1000 [POWERPC] Fix i2c device string format Use strlcpy() to guarantee strings in i2c device type and driver_name fields are 0-terminated. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mackerras commit 750d1d1ca1d2e94e15393927fd3c30222d1c5203 Author: Stephen Rothwell Date: Wed Aug 15 20:58:23 2007 +1000 [POWERPC] Fix section mismatch in pasemi/iommu.c These functions are only called by __init functions. WARNING: vmlinux.o(.text+0x56aa0): Section mismatch: reference to .init.text:.lmb_alloc (between '.iob_init' and '.iommu_init_early_pasemi') Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 124d795d16b018b054956c9be561f889acf95ac4 Author: Stephen Rothwell Date: Wed Aug 15 20:55:57 2007 +1000 [POWERPC] Fix section mismatches in udbg_adb.c The functions are only called from __init functions. WARNING: vmlinux.o(.text+0x45ed0): Section mismatch: reference to .init.text:.btext_find_display (between '.udbg_adb_init_early' and '.udbg_adb_init') WARNING: vmlinux.o(.text+0x45f9c): Section mismatch: reference to .init.text:.btext_find_display (between '.udbg_adb_init' and '.udbg_adb_getc_poll') WARNING: vmlinux.o(.text+0x46000): Section mismatch: reference to .init.text:.find_via_pmu (between '.udbg_adb_init' and '.udbg_adb_getc_poll') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 109b60f0bc1306192c765875badcaa5f3850a0a1 Author: Stephen Rothwell Date: Wed Aug 15 20:54:32 2007 +1000 [POWERPC] Fix section mismatch in dart_iommu.c These functions are only called from __init functions. WARNING: vmlinux.o(.text+0x398f4): Section mismatch: reference to .init.text:.lmb_alloc (between '.iommu_init_early_dart' and '.pci_dma_bus_setup_dart') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit d56c3aaa9f660e5f5f295da74f5d3db510de0ede Author: Stephen Rothwell Date: Wed Aug 15 20:53:26 2007 +1000 [POWERPC] Fix section mismatch in crash_dump.c WARNING: vmlinux.o(.text+0x23258): Section mismatch: reference to .init.text:.lmb_reserve (between '.reserve_kdump_trampoline' and '.restore_processor_state') Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 553fdff633b1cb8cfccf554768444c5580a8d7f7 Author: David Gibson Date: Tue Aug 14 13:52:42 2007 +1000 [POWERPC] Improve robustness of the UIC cascade handler At present the cascade interrupt handler for the UIC (interrupt controller on 4xx embedded chips) will misbehave badly if it is called spuriously - that is if the handler is invoked when no interrupts are asserted in the child UIC. Although spurious interrupts shouldn't happen, it's good to behave robustly if they do. This patch does so by checking for and ignoring spurious interrupts. Signed-off-by: Valentine Barshak Signed-off-by: David Gibson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 868afce21fdadcecc7bde9263321065948508c56 Author: David Gibson Date: Tue Aug 14 13:52:42 2007 +1000 [POWERPC] Fix irq flow handler for 4xx UIC At present the driver for the UIC (the embedded interrupt controller in 4xx chips) uses the handle_level_irq() flow handler. It turns out this does not correctly handle level triggered interrupts on the UIC. Specifically, acknowledging an irq on the UIC (i.e. clearing the relevant bit in UIC_SR) will have no effect for a level interrupt which is still asserted by the external device, even if the irq is already masked. Therefore, unlike handle_level_irq() we must ack the interrupt after invoking the ISR (which should cause the device to stop asserting the irq) instead of acking it when we mask it, before the ISR. This patch implements this change, in a new handle_uic_irq(), a customised irq flow handler for the UIC. For edge triggered interrupts, handle_uic_irq() still uses the old flow - we must ack edge triggered interrupt before the ISR not after, or we could miss a second event which occurred between invoking the ISR and acking the irq. Signed-off-by: David Gibson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 4dc7b4b0405fd7320940849b6e31ea8ea68fd0df Author: David Gibson Date: Tue Aug 14 13:52:42 2007 +1000 [POWERPC] Fix setting of irq trigger type in UIC driver The UIC (interrupt controller in 4xx embedded CPUs) driver currently missets the IRQ_lEVEL flag in desc->status, due to a thinko. This patch fixes the bug. Currently this is only a cosmetic problem (affects the output in /proc/interrupts), however subsequent patches will use the IRQ_LEVEL flag to affect flow handling. Signed-off-by: Valentine Barshak Signed-off-by: David Gibson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit a05afe9146f7611d40a58be34ee8442727a6af1f Author: Stephen Rothwell Date: Wed Aug 15 16:54:04 2007 +1000 [POWERPC] Comment out a currently unused function Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit e8ff0646e5df850ff084be9c97a2e69fff5697b4 Author: Stephen Rothwell Date: Wed Aug 15 16:51:18 2007 +1000 [POWERPC] Tidy up CONFIG_PPC_MM_SLICES code This removes some of the #ifdefs from .c files. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0b8188a44def37f4f8ef01653da199ca3a3e0a2a Author: Stephen Rothwell Date: Wed Aug 15 16:45:15 2007 +1000 [POWERPC] Remove get_property and device_is_compatible They were only needed for backwards compatibility and all in tree uses have now been changed. Signed-off-by: Stephen Rothwell Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit 9c25099db74b384e16345622071552f9f10dd045 Author: Stephen Rothwell Date: Wed Aug 15 16:42:12 2007 +1000 [POWERPC] Use of_get_property in ipmi code get_property has been renamed to of_get_property. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9dfe5c53d0fcc08e9efc1e13bb6702fac74f4a12 Author: Stephen Rothwell Date: Wed Aug 15 16:33:55 2007 +1000 [POWERPC] Fix non HUGETLB_PAGE build warning arch/powerpc/mm/mmu_context_64.c: In function 'init_new_context': arch/powerpc/mm/mmu_context_64.c:31: warning: unused variable 'new_context' Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1ac9f1f71dea5944085b7b4954516794a9dab35a Author: Becky Bruce Date: Wed Aug 15 04:45:44 2007 +1000 [POWERPC] Update lmb.h include protection to ASM_POWERPC This file was protected by _PPC64_LMB_H, which is confusing, as the 32-bit code also uses the lmb these days. Changed to _ASM_POWERPC_LMB_H. Signed-off-by: Becky Bruce Signed-off-by: Paul Mackerras commit 7b52b440d37d669ec93297cf589984a110518d43 Author: Michael Buesch Date: Mon Aug 13 06:38:34 2007 +1000 [POWERPC] via-pmu: Fix typo in printk This fixes a typo in a printk message. Signed-off-by: Michael Buesch Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9f0cbea0d8cc47801b853d3c61d0e17475b0cc89 Author: Segher Boessenkool Date: Sat Aug 11 10:15:30 2007 +1000 [POWERPC] Implement atomic{, 64}_{read, write}() without volatile Instead, use asm() like all other atomic operations already do. Also use inline functions instead of macros; this actually improves code generation (some code becomes a little smaller, probably because of improved alias information -- just a few hundred bytes total on a default kernel build, nothing shocking). Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit c6d4267eced79775399f256fbb4adb671e9b597e Author: Paul Mackerras Date: Fri Aug 10 14:07:38 2007 +1000 [POWERPC] Handle alignment faults on new FP load/store instructions This adds code to handle alignment traps generated by the following new floating-point load/store instructions, by emulating the instruction in the kernel (as is done for other instructions that generate alignment traps): lfiwax load floating-point as integer word algebraic indexed stfiwx store floating-point as integer word indexed lfdp load floating-point double pair lfdpx load floating-point double pair indexed stfdp store floating-point double pair stfdpx store floating-point double pair indexed All these except stfiwx are new in POWER6. lfdp/lfdpx/stfdp/stfdpx load and store 16 bytes of memory into an even/odd FP register pair. In little-endian mode each 8-byte value is byte-reversed separately (i.e. not as a 16-byte unit). lfiwax/stfiwx load or store the lower 4 bytes of a floating-point register from/to memory; lfiwax sets the upper 4 bytes of the FP register to the sign extension of the value loaded. Signed-off-by: Paul Mackerras commit 09a54101e15f43607722dee55f33d1962653c6cb Author: Linas Vepstas Date: Fri Aug 10 09:28:11 2007 +1000 [POWERPC] pseries: Remove dead EEH video code Remove dead code, and a misleading comment about EEH checking for video devices. The removed code is a left-over from the olden days where there was concern over how video devices worked in Linux. We are never going to go that way again, so kill this. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 17 ----------------- 1 file changed, 17 deletions(-) Signed-off-by: Paul Mackerras commit 0f7f2fb85a67953acd6bf379681f22f5c83d4f60 Author: Nathan Lynch Date: Fri Aug 10 07:43:28 2007 +1000 [POWERPC] Remove gratuitous reads from powermac pci config space methods The powermac pci configuration space write methods read the written location immediately after the write is performed, presumably in order to flush the write. However, configuration space writes are not allowed to be posted, making these reads gratuitous. Furthermore, this behavior potentially causes us to violate the PCI PM spec when changing between e.g. D0 and D3 states, because a delay of up to 10ms may be required before the OS accesses configuration space after the write which initiates the transition. Remove the unnecessary reads from macrisc_write_config, u3_ht_write_config, and u4_pcie_write_config. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit b139f1fb0f1e4bfe06f2c88ba8c9a55d9513d871 Author: Nathan Lynch Date: Fri Aug 10 07:37:27 2007 +1000 [POWERPC] Remove gratuitous reads from pasemi pci config space methods The pasemi pci configuration space write method reads the written location immediately after the write is performed, presumably in order to flush the write. However, configuration space writes are not allowed to be posted, making these reads gratuitous. Furthermore, this behavior potentially causes us to violate the PCI PM spec when changing between e.g. D0 and D3 states, because a delay of up to 10ms may be required before the OS accesses configuration space after the write which initiates the transition. Remove the unnecessary reads from pa_pxp_write_config. Signed-off-by: Nathan Lynch Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 8935fa0fe6f87c4df806f605de04aed4353c7600 Author: Nathan Lynch Date: Fri Aug 10 05:18:46 2007 +1000 [POWERPC] tsi108_direct_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit c78d453b6f95ff38a2226f6f77a4b08a6e27fc42 Author: Nathan Lynch Date: Fri Aug 10 05:18:45 2007 +1000 [POWERPC] indirect_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit f1d645f42849ce3c12781514e6ced97748ada6b1 Author: Nathan Lynch Date: Fri Aug 10 05:18:44 2007 +1000 [POWERPC] chrp pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 21d8f6c728a0eb852b521626a41b2bba6a6216d9 Author: Nathan Lynch Date: Fri Aug 10 05:18:43 2007 +1000 [POWERPC] efika rtas_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 6127d1c0b097b2e9acc83dede1c1cb64ce76e7d5 Author: Nathan Lynch Date: Fri Aug 10 05:18:42 2007 +1000 [POWERPC] null_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 3fac10e7f5a6dfa4a08938d24af2775cd9b9e267 Author: Nathan Lynch Date: Fri Aug 10 05:18:41 2007 +1000 [POWERPC] powermac pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1bb8c6216f08519c16ce20b82e6f6a59fe0ce717 Author: Nathan Lynch Date: Fri Aug 10 05:18:40 2007 +1000 [POWERPC] pa_pxp_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 2e67d40762215bcd7c9b81e828ef6de453a09bc4 Author: Nathan Lynch Date: Fri Aug 10 05:18:39 2007 +1000 [POWERPC] maple pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 3e02aebbca47174d4263cac5ff5b68ea29a7bcff Author: Nathan Lynch Date: Fri Aug 10 05:18:38 2007 +1000 [POWERPC] celleb_epci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit aec249bc1944c5359c6d3aa2f674be6a9fb3d076 Author: Nathan Lynch Date: Fri Aug 10 05:18:37 2007 +1000 [POWERPC] celleb_fake_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 8674e0c9e570fcce948518e8fe518f4b61ac91fe Author: Nathan Lynch Date: Fri Aug 10 05:18:36 2007 +1000 [POWERPC] rtas_pci_ops: Use named structure member initializers Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1bdb2867e5f0bca7c94f7df92f23fdd20524a488 Author: Nathan Lynch Date: Thu Aug 9 10:50:44 2007 +1000 [POWERPC] Remove gratuitous reads from maple PCI config space methods The maple PCI configuration space write methods read the written location immediately after the write is performed, presumably in order to flush the write. However, configuration space writes are not allowed to be posted, making these reads gratuitous. Furthermore, this behavior potentially causes us to violate the PCI PM spec when changing between e.g. D0 and D3 states, because a delay of up to 10ms may be required before the OS accesses configuration space after the write which initiates the transition. It definitely causes a system hang for me with a Broadcom 5721 PCIE network adapter, which is fixed by this change. Therefore this removes the gratuitous reads from u3_agp_write_config, u3_ht_write_config, and u4_pcie_write_config. Signed-off-by: Nathan Lynch Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 96b952dd4b8aaa752b6086ad8bcaf2af23729b5f Author: Murali Iyer Date: Thu Aug 9 07:46:49 2007 +1000 [POWERPC] Export DCR symbols for modules In order to compile drivers as modules that uses some of the DCR functions, we need to export the symbols. Example, EMAC driver and other drivers that are under development use these functions. Signed-off-by: Murali Iyer Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0f2342c85df4248bc1cd72421b13969a0782ed6a Author: Linas Vepstas Date: Fri Aug 10 06:56:41 2007 +1000 [POWERPC] pseries: Eliminate global error_log_cnt variable Eliminate the use of error_log_cnt as a global var shared across different directories. Pass it as a parameter instead. Signed-off-by: Linas Vepstas ---- Respin of earlier patch, with the CONFIG_PSERIES junk removed from the header file. arch/powerpc/kernel/nvram_64.c | 10 +++++----- arch/powerpc/platforms/pseries/rtasd.c | 7 ++++--- include/asm-powerpc/nvram.h | 6 ++++-- 3 files changed, 13 insertions(+), 10 deletions(-) Signed-off-by: Paul Mackerras commit 79c0108d1b9db4864ab77b2a95dfa04f2dcf264c Author: Linas Vepstas Date: Thu Aug 9 06:06:15 2007 +1000 [POWERPC] pseries: Fix jumbled no_logging flag Get rid of the jumbled usage of the no_logging flag. Its use spans several directories, and is incorrectly/misleadingly documented. Instead, two changes: 1) nvram will accept error log as soon as its ready. 2) logging to nvram stops on the first fatal error reported. Signed-off-by: Linas Vepstas ---- arch/powerpc/kernel/nvram_64.c | 8 -------- arch/powerpc/platforms/pseries/rtasd.c | 14 ++++++-------- 2 files changed, 6 insertions(+), 16 deletions(-) Signed-off-by: Paul Mackerras commit 72755f44075d34cdb9bc467c6cd9a229292b5aff Author: Linas Vepstas Date: Thu Aug 9 06:04:48 2007 +1000 [POWERPC] Remove nvram forward declarations Forward declarations serve no purpose in this file. Signed-off-by: Linas Vepstas ---- arch/powerpc/kernel/nvram_64.c | 5 ----- 1 file changed, 5 deletions(-) Signed-off-by: Paul Mackerras commit 4511dad42a8da41fc2f5a58066c519c2228896ac Author: Linas Vepstas Date: Thu Aug 9 06:03:37 2007 +1000 [POWERPC] pseries: Simplify rtasd initialization Simplify rtasd initialization code; this also fixes a buglet, where the /proc entries weren't being cleaned up in case of failure. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/rtasd.c | 53 +++++++++++---------------------- 1 file changed, 19 insertions(+), 34 deletions(-) Signed-off-by: Paul Mackerras commit ba28cc09316510aacb17f8421fdaae37969a4d5b Author: Linas Vepstas Date: Thu Aug 9 06:02:10 2007 +1000 [POWERPC] pseries: Use rtas_token instead of hand-rolled code The rtas_token() call does the same thing as this hand-rolled code. This makes the code easier to read. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/rtasd.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) Signed-off-by: Paul Mackerras commit a4fc3a3cead7f9e00dc0f6e00238b11c030f94cc Author: Linas Vepstas Date: Fri Aug 10 07:01:50 2007 +1000 [POWERPC] pseries: Avoid excess rtas_token calls We don't need to look up the rtas event token once per cpu per second. This avoids some misc device-tree lookups and string ops and so provides some minor performance improvement. Signed-off-by: Linas Vepstas ---- Revised commit-log message. arch/powerpc/platforms/pseries/rtasd.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) Signed-off-by: Paul Mackerras commit f774216d465959a4777ac3de67f33bf75ecd4a76 Author: Segher Boessenkool Date: Thu Aug 2 01:41:15 2007 +1000 [POWERPC] Replace a few #defines with empty inline functions ...so that GCC doesn't complain about unused variables in the callers of these. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit c05129bd8190fd702426f93f9fe0a00fa6cacb31 Author: Grant Likely Date: Wed Aug 1 23:53:28 2007 +1000 [POWERPC] Only ignore arch/ppc/include, not arch/ppc/boot/include arch/ppc/.gitignore shouldn't exclude arch/ppc/boot/include, so this makes arch/ppc/.gitignore more specific. Signed-off-by: Paul Mackerras commit 33567a023e734b640c27fc9cc4e7c6b45987b083 Author: Gabriel C Date: Wed Aug 1 19:41:09 2007 +1000 [POWERPC] Typo fixes interrrupt -> interrupt This fixes some interrrupt -> interrupt typos. Signed-off-by: Gabriel Craciunescu Signed-off-by: Paul Mackerras commit cc61f957f486871536cc5531e83337fff4fe48f3 Author: Mariusz Kozlowski Date: Wed Aug 1 08:10:03 2007 +1000 [POWERPC] drivers/macintosh/therm_adt746x.c: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: Paul Mackerras commit 0d279d47612d1b63155a1d9637a6fc5143dad594 Author: David Gibson Date: Mon Jul 30 15:55:02 2007 +1000 [POWERPC] Fixes to allow use of Ebony's flash chips through physmap_of This patch contains a handful of small fixes to allow the Ebony's flash to be exposed as MTD devices via the physmap_of driver. Specifically it: - Makes a small addition to the device tree and zImage wrapper to record the correct address for the flash in the device tree based on the board switches as reported via an FPGA register. - Prohibits building the old hard-coded "Ebony" flash map on arch/powerpc kernels, in favour of using physmap_of's device tree based approach. - Enables MTD and physmap_of in the Ebony defconfig. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 9420dc65ff9e6b67c032286efde823aeb8684670 Author: Jesper Juhl Date: Mon Jul 30 08:18:25 2007 +1000 [POWERPC] Clean out a bunch of duplicate includes This removes several duplicate includes from arch/powerpc/. Signed-off-by: Jesper Juhl Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 2a4a9fbf26b109a748a336560ae3155c54f89de8 Author: Jon Loeliger Date: Sat Jul 28 04:25:09 2007 +1000 [POWERPC] embedded6xx: Remove unnecessary loops_per_jiffy initialization code Signed-off-by: Jon Loeliger Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit c3ca32fdb820d59e63c95115ec5caf2862c85040 Author: Jon Loeliger Date: Sat Jul 28 04:24:59 2007 +1000 [POWERPC] 8xx: Remove unnecessary loops_per_jiffy initialization code Signed-off-by: Jon Loeliger Acked-by: Vitaly Bordug Signed-off-by: Paul Mackerras commit 7888fbf7bbf8840e83078eae3a537fd1cde46e6e Author: Jon Loeliger Date: Sat Jul 28 04:24:52 2007 +1000 [POWERPC] 52xx: Remove unnecessary loops_per_jiffy initialization code Signed-off-by: Jon Loeliger Signed-off-by: Paul Mackerras commit 0b9369f4934eb9933a1fbe991c5e8a4f9725da37 Author: Linas Vepstas Date: Fri Jul 27 08:35:40 2007 +1000 [POWERPC] EEH: Dump PCI bridge status on event Gather bridge-specific data on EEH events. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) Signed-off-by: Paul Mackerras commit 093eda3ce5dc3758c9a5e806ea6573bfffed3ff7 Author: Linas Vepstas Date: Fri Jul 27 08:33:58 2007 +1000 [POWERPC] EEH: Fix PCI bridge handling bug The EEH code needs to ignore PCI bridges; sort-of. It was ignoring them in the wrong place, and thus failing to set up the PCI_DN(dn)->pcidev pointer. Imprudent dereferencing of this pointer would lead to a crash on cards with bridges. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh_cache.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) Signed-off-by: Paul Mackerras commit 12588da7cb57edc25355c8ae2a245f66d0d067d1 Author: Linas Vepstas Date: Fri Jul 27 08:30:26 2007 +1000 [POWERPC] EEH: Tweak printk message Print return code to print message. Also fix whitespace. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Signed-off-by: Paul Mackerras commit 301d9cb80b4f64ba24d4b141ad3ca58165a29afb Author: Ishizaki Kou Date: Thu Jul 26 20:06:08 2007 +1000 [POWERPC] Init markings for hvc_beat Fix warnings about section mismatch. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit a4ebd0174724193cbabf989352702ff37b1eb060 Author: Ishizaki Kou Date: Thu Jul 26 20:02:27 2007 +1000 [POWERPC] Init markings for celleb There are some variables and functions that we should place in init section. And this patch changes some '__devinit' to '__init', because the device is platform device and not hot-pluggable. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit b090b3388b6ea5d1003260daa0a997f4a1c4acc5 Author: Ishizaki Kou Date: Thu Jul 26 20:00:56 2007 +1000 [POWERPC] Fix celleb sio section warning Fix following warning: WARNING: vmlinux.o(.text+0x45fd4): Section mismatch: reference to .init.text:.early_serial_txx9_setup (between '.txx9_serial_init' and '.txx9_serial_config') Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit e5b9187b16993e4bb6799185e266f68e26663bee Author: Ishizaki Kou Date: Thu Jul 26 19:59:17 2007 +1000 [POWERPC] Fix celleb pci section warnings Fix following warnings: WARNING: vmlinux.o(.text+0x44ad0): Section mismatch: reference to .init.text:.__alloc_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') WARNING: vmlinux.o(.text+0x44dd8): Section mismatch: reference to .init.text:.free_bootmem (between '.celleb_setup_phb' and '.celleb_fake_pci_write_config') Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit 09b3fba562ce366312b90a6f71d0b727b4d93ba9 Author: David Woodhouse Date: Thu Aug 9 17:28:20 2007 +0800 [JFFS2] Correct cleanmarker checks -- we should use only 8 bytes Commit a7a6ace1406f95c3edb8365788f85984377f3832 revamped the OOB handling but accidentally switched to 12-byte cleanmarkers, which is incompatible with what 'flash_eraseall -j' will do. So using flash_eraseall -j and then trying to mount the 'empty' flash will fail, because the cleanmarkers aren't recognised. Signed-off-by: David Woodhouse commit bbf275f092b1b2a9bc8a504500ec387f9ddff859 Author: Mike Frysinger Date: Sun Aug 5 16:48:08 2007 +0800 Blackfin serial driver: pending a unique anomaly id, tie the break flood issue to ANOMALY_05000230 pending a unique anomaly id, tie the break flood issue to ANOMALY_05000230 as when that was fixed, the fallout also fixed the break flood Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 85a75996edd0e49477cc7c9eb4bac33f02b07685 Author: Alan Cox Date: Sun Aug 5 19:16:05 2007 +0800 blackfin enable arbitary speed serial setting Add the needed definitions to activate arbitary speed support on the blackfin platform. Signed-off-by: Alan Cox Acked-by: Aubrey Li Signed-off-by: Andrew Morton Signed-off-by: Bryan Wu commit 7417c8fe2e792b771b093c14e763816f154b62b4 Author: Robin Getz Date: Wed Oct 10 22:26:33 2007 +0800 Blackfin arch: Remove cruft - CONFIG_DEBUG_SERIAL_EARLY_INIT and DEBUG_KERNEL_START Remove cruft - CONFIG_DEBUG_SERIAL_EARLY_INIT didn't work that well, and DEBUG_KERNEL_START was just implmented poorly. Will replace with a new checkin. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit ddf416b2bce842105d29b170438fd1bc080456d0 Author: Mike Frysinger Date: Wed Oct 10 18:06:47 2007 +0800 Blackfin arch: fix typo in register name Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c3f2294f8cb161f568e244e283e1aa3eee397ef5 Author: Mike Frysinger Date: Wed Oct 10 17:54:46 2007 +0800 Blackfin arch: trim the Blackfin arch MAINTAINERS list Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit bc41bb11654f7fbb8cae2d316a7c2ac5ebf759d2 Author: Bernd Schmidt Date: Wed Oct 10 17:54:19 2007 +0800 Blackfin arch: fix bug libstdc++ calling writev with an iovec containing { NULL, 0 } fails on Blackfin Fix a problem reported in the forums - libstdc++ can call writev with an iovec containing { NULL, 0 }, which works fine on i686-linux, but fails on Blackfin. Fixed by allowing size 0 transfers to/from userspace regardless of the address. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit ef4a47db52cd8c15b5de07a318e5758d2f1e1bb9 Author: Bernd Schmidt Date: Wed Oct 10 17:45:22 2007 +0800 Blackfin arch: Export strcpy - occasionally get module link failures otherwise Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit b3f8b9276314f4942ef9033aa5f4dc184901d640 Author: Robin Getz Date: Wed Oct 10 17:28:27 2007 +0800 Blackfin arch: the load address is not safe to point to as a workaround for ANOMALY 05000281 Now that we have moved head.S into the init section, the load address is not safe to point to as a workaround for ANOMALY 05000281 Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit b76f98761acc909c20c1e65c8af11dc1decae935 Author: Robin Getz Date: Wed Oct 10 17:25:15 2007 +0800 Blackfin arch: show_mem can not be marked as init, since it is called during OOM condition show_mem can not be marked as init, since it is called during OOM condition from /mm/oom_kill.c:out_of_memory() and /mm/page_alloc.c:__alloc_pages() Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 1a7d91d651f25005c4f507aebf9eab17e508889c Author: Michael Hennerich Date: Wed Oct 10 17:42:55 2007 +0800 Blackfin arch: flush/inv the correct range when using write back cache and fix bugs find by dmacopy - flush/inv the correct range - dmacopy test failed when policy is write_back - invalidate before dma http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3367 It's the cache invalidate what is causing the issue. There is no invalidate only instruction it's always: FLUSHINV So when we "invalidate" after the DMA we might (do) overwrite freshly dma'ed data by dirty Cache WB content. Fixed by moving the "invalidate" at the beginning of dma_memcpy. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a359cca71e73a83612b5bbecea41d3b7a47160ca Author: Sonic Zhang Date: Wed Oct 10 16:47:58 2007 +0800 Blackfin arch: update kgdb patch Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 2b39331a282c3a03415653d4e188910a11c9db8a Author: Michael Hennerich Date: Wed Oct 10 16:58:49 2007 +0800 Blackfin arch: Comply with revised Anomaly Workarounds for BF533 05000311 and BF561 05000323 Comply with revised Anomaly Workarounds for BF533 05000311 and BF561 05000323 accoring to BF533 anomaly sheet Rev. A 09/04/07 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 337d390b3a9c1ce92a12bdb77b9ae6ded6273b12 Author: Robin Getz Date: Tue Oct 9 17:31:46 2007 +0800 Blackfin arch: Print out debug info, as early as possible Print out debug info, as early as possible - even before the kernel initializes the interrupt vectors. Now we can print out debug messages almost anytime during the boot process. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit ce3afa1c043ab3d4125671441a57353d80f5f6f7 Author: Robin Getz Date: Tue Oct 9 17:28:36 2007 +0800 Blackfin arch: Enable earlyprintk earlier - so any error after our interrupt tables are set up will print out Also ensure that the traps_c code doesn't cause a double fault, by sending a signal to a faulting kernel before the memory subsystem is fully initialized, by printing out the error message before sending the signal. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 2ebcade590dcf822dcdadcc4f8f68efd3ff2e217 Author: Robin Getz Date: Tue Oct 9 17:24:30 2007 +0800 Blackfin arch: fix endless loop bug when a double fault happens Today when a double fault happens (exception during an exception handling event), we go into an endless loop, with nothing comming out the UART. With this patch, we actually see that we have commited a double fault event Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0ae53640b54f2c30e52044f7102ba08915b988a7 Author: Robin Getz Date: Tue Oct 9 17:24:49 2007 +0800 Blackfin arch: Initial patch to add earlyprintk support This allows debugging of problems which happen eary in the kernel boot process (after bootargs are parsed, but before serial subsystem is fully initialized) Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 1d487f468de75b8a5c664db60e106935f9dc753b Author: Bryan Wu Date: Thu Oct 11 00:30:56 2007 +0800 Blackfin arch: add TWIx_REGBASE and SPIx_REGBASE to specific CPU header files, use the new REGBASE for board platform resources Signed-off-by: Bryan Wu commit b7b2d344e7f7027497547a8b786a407047ee5e26 Author: Bryan Wu Date: Tue Oct 9 15:09:49 2007 +0800 Blackfin arch: modify the insX/outsX and dma_insX/dma_outsX to be compatible with other archs Signed-off-by: Bryan Wu commit c11b5776bfef671cd6eea4479f345ec042638643 Author: Mike Frysinger Date: Thu Oct 11 00:12:41 2007 +0800 Blackfin arch: add more common defines for output sections Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fb282a72f13305a74fb105bce1ee232b3492b654 Author: Bryan Wu Date: Wed Sep 12 17:48:25 2007 +0800 Blackfin arch: cleanup IO and DMA_IO API function definitions according to other arches Signed-off-by: Bryan Wu commit b5c0e2e8068ca31eb2547f2e2e677516ce9d8800 Author: Mike Frysinger Date: Wed Sep 12 17:31:59 2007 +0800 Blackfin arch: fix typo pointed out by David Rowe (Mhz -> MHz) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2714d9a6d1e68d30f5be8871722a7cff388c2d74 Author: Michael Hennerich Date: Thu Oct 11 00:29:49 2007 +0800 Blackfin arch: Workaround reboot bug, issue SSYNC at the start of bfin_reset reboot failes on BF533 http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3500 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4b3f058a7a34a10d99937e86bb28da118710ca9a Author: Michael Hennerich Date: Wed Sep 12 14:50:28 2007 +0800 Blackfin arch: Add ANOMALY_05000311 Workaround - for those who doesnt use the generic GPIO driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit eabb5a5e0b1ff6b7d36ac80bf39773fa6a0fc872 Author: Michael Hennerich Date: Tue Aug 28 14:57:05 2007 +0800 Blackfin arch: Remove legacy support Now that there is a generic GPIO driver framework remove GPIO register unified name space legacy support. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2acde902301f73e824101e5ca9eb95dc733dc17d Author: Michael Hennerich Date: Thu Oct 11 00:24:40 2007 +0800 Blackfin arch: a few things still use bfin_read_PORT_FER() - Update gpio_request to allow multiple request with the same signature (label) - Use generic GPIO API where applicable - Update generic board support form stamp board Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 55249e9e3d07617e00cc6c52b83f7d1a7eb7e64d Author: Michael Hennerich Date: Thu Oct 11 00:06:31 2007 +0800 Blackfin arch: For compatibility reasons change IRQ_XXX_ERR into IRQ_XXX_ERROR like on any other supported Blackfin derivative Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 02f13f9d5c1d3104c5c4e7f4ae30c43d595d1d75 Author: Robin Getz Date: Mon Aug 27 17:38:40 2007 +0800 Blackfin arch: Remove cruft - CONFIG_DEBUG_SERIAL_EARLY_INIT didn't work that well with DEBUG_KERNEL_START Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit d2b11a468a49716debd96532552a72b6078f1cf5 Author: Michael Hennerich Date: Tue Aug 28 16:47:46 2007 +0800 Blackfin arch: Merge GPIO/Peripheral Resource Allocation back into a single file Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2296fb7ff04531dd8d50394da24f49302ecf103b Author: Robin Getz Date: Thu Sep 13 11:49:33 2007 +0800 Blackfin arch: Fix bug missing L2_MEMORY definition for EZKIT-BF561 compiling error Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4d5f4ed3fb797021523fc9fb6804047e8e35b33d Author: Michael Hennerich Date: Mon Aug 27 16:46:17 2007 +0800 Blackfin arch: extract gpio number from PIN function Singed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 168f1212c098727f2509fe0f66bd30d7209a8159 Author: Mike Frysinger Date: Thu Oct 11 00:22:35 2007 +0800 Blackfin arch: rewrite our reboot code in C rewrite our reboot code in C rather than assembly to be like other architectures and to allow board maintainers to define custom behavior Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 27d875f2c134c4b26860ccdd03b4c52cce4efc2c Author: Mike Frysinger Date: Mon Aug 27 16:08:53 2007 +0800 Blackfin arch: vmlinux.lds.S, break up our .init into separate sections Break up our .init into separate section like all other ports do and so that we dont mix text and data (causes disassembly headaches as pointed out by Robin) Cc: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d8350e704e5a47784d108d57c27dbb7b9c0a4369 Author: Bryan Wu Date: Thu Oct 11 00:03:39 2007 +0800 Blackfin arch: Board defconfig updating Signed-off-by: Bryan Wu commit fbeb7370b6eef14bf12787d05c7460fae562d0be Author: Mike Frysinger Date: Mon Aug 27 15:02:20 2007 +0800 Blackfin arch: parse input sections properly when using -ffunction-sections/-fdata-sections Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1ffe6646babf8471714e649849ec2c9662bf410c Author: Mike Frysinger Date: Sun Aug 5 17:14:04 2007 +0800 Blackfin arch: add an exception request/free api add an exception request/free api similar to the interrupt request/fre api so people can utilize the free software based exceptions for their own purposes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit dbcc78bebe9daed8998d9f7c4e30bd3b73a4a169 Author: Mike Frysinger Date: Sun Aug 5 17:06:48 2007 +0800 Blackfin arch: all our other ports call this SIZE rather than SPI_LEN Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit f0b5d12f2b3226c85258519d7725e63d9daf5e90 Author: Mike Frysinger Date: Sun Aug 5 17:03:59 2007 +0800 Blackfin arch: allow people to select the feature that is unavailable to the kernel - allow people to select the feature that is unavailable to the kernel: NMI, JTAG, or CYCLES. - change default NMI handler to simply dump hardware trace buffer. - remove default NMI handler completely as calling into kernel code is not safe move example handler to wiki so people dont haphazardly copy and paste this stuff thinking its safe Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0174dd59bb5f343e8981b5ea7a3dc782fad5b644 Author: Mike Frysinger Date: Sun Aug 5 16:53:10 2007 +0800 Blackfin arch: make sure to stub out ANOMALY_05000230 were appropriate Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2615639758c0a9e0f0e14267c9cd2b83801eb8cf Author: Jie Zhang Date: Sun Aug 5 16:25:23 2007 +0800 Blackfin arch: Allow ptrace access the fixed code. Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu commit 8a26ac7043b0cb3b446ad9f9a3ec0992d0fea1f7 Author: Sonic Zhang Date: Sun Aug 5 16:14:58 2007 +0800 Blackfin arch: Add DMA API to set curr descriptor address This API is necessary for DMA descriptor array mode. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 2cbfe107434b9651168afb21015f3285e02beed3 Author: Bryan Wu Date: Sun Aug 5 15:31:16 2007 +0800 Blackfin arch: kill ezkit548 compiling warning kill ezkit548 compiling warning: - include/asm/cplb.h:42:5: warning: "ANOMALY_05000158" is not defined Signed-off-by: Bryan Wu commit 2d8f161fe3d6f8d4a2a6f7d068757261b49191f7 Author: Mike Frysinger Date: Sun Aug 5 14:06:16 2007 +0800 Blackfin arch: update BOOT_LOAD update BOOT_LOAD help to reflect current state of the first 4k of our address space as well as add a memory range option to prevent invalid values Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit be7b0d3711ec198a20edd769b9f1ad4f935a9bc2 Author: Robin Getz Date: Sun Aug 5 14:14:42 2007 +0800 Blackfin arch: fix up header for BF533 Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit b4055d733d58135371c0c3a7f8c8899ca7b4f658 Author: Mike Frysinger Date: Sun Aug 5 14:00:11 2007 +0800 Blackfin arch: remove spurious KERN_EMERG log level in output Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 07bdda02623d6d9078e45f6b6451bc3508878db1 Author: Michael Hennerich Date: Mon Aug 27 15:29:35 2007 +0800 Blackfin arch: bug fixing restore mach dependent ASYNC memory size Bug: When SMC921X driver is enabled, kernel boot crash on EZKIT548 http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3460 Fixed by restoring mach dependent ASYNC memory size CPLB coverage. Once we have a more dynamic memory layout we should come up with a better solution for these hard-coded values. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 3bebca2d20796dd3dc62c5d3e74148087c7ce5bd Author: Robin Getz Date: Wed Oct 10 23:55:26 2007 +0800 Blackfin arch: to do some consolidation of common code and common name spaces now all BLKFIN should be BFIN, should be no functional changes. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 471f717a48d25afcb9428c9523cd0557738b7115 Author: David Woodhouse Date: Fri Aug 3 23:02:02 2007 +0100 Revert "[MTD] Driver for AT26Fxxx dataflash devices" This reverts commit 340ea370c2ce89d1c15fbf785460f2f74314ce58. It's not needed given the other m25p80 patch (which now handles at26 "dataflash" as well as most other standard SPI flash chips), and requires a controller driver that won't be merged upstream (supplanted by drivers/spi/atmel_spi.c) ... the submitter of that at91_dataflash26.c driver concurred. Requested by David Brownell Signed-off-by: David Woodhouse commit a298049180d2c56fc8ac1796b24973bf4f019cc7 Author: Mike Frysinger Date: Fri Aug 3 18:29:15 2007 +0800 Blackfin arch: remove unused code -- EVT0 is not controllable by software Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a924db7c00655447c5228bd74da070c69b7cadbc Author: Michael Hennerich Date: Fri Aug 3 17:43:29 2007 +0800 Blackfin arch: Add option to priorize DMA over Core Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 7735cefc4583175486685fced2f457fbe0fd5855 Author: Michael Hennerich Date: Sun Aug 5 18:55:30 2007 +0800 Blackfin arch: Add support for the M25P16 SPI FLash Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 1d945e2b3e421f2ce01b2eb260392f888406933f Author: Roy Huang Date: Wed Oct 10 23:31:19 2007 +0800 Blackfin arch: add set_dma_curr_addr DMA API to support sound driver recording function Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit f2d40cd92c5604a868b22c44a7858206ae4fcf35 Merge: 3ca135e... 7a883ea... Author: David Woodhouse Date: Thu Aug 2 22:36:28 2007 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 3ca135e16a393e5c5cf6490ce751e43c59011dde Author: David Woodhouse Date: Thu Aug 2 16:32:02 2007 +0100 [JFFS2] LZO compression should default off for compatibility. Signed-off-by: David Woodhouse commit 440fdb53b4ae58602711b5b8c3a139ace2404dbb Merge: 8b2b403... 8d4fbcf... Author: David Woodhouse Date: Wed Aug 1 11:23:57 2007 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 8b2b403ce0f1a816b7a6a4f47c8798003b26c07a Author: maximilian attems Date: Sat Jul 28 13:07:16 2007 +0200 [MTD] [NAND] nand_base.c fix broken link replace with working link from nand Kconfig help text fixes bugzilla 7815 Signed-off-by: maximilian attems Signed-off-by: David Woodhouse commit 73ff007537e591e53d070aafbfd90369c3580332 Author: Adrian Bunk Date: Sun Jul 29 16:58:12 2007 +0200 [MTD] [ONENAND] onenand_sim.c: make struct info static This patch makes the needlessly global struct info static. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit d9b0744d6c75f7b268b728cdd1843f31bdeba311 Author: Mariusz Kozlowski Date: Wed Aug 1 00:02:10 2007 +0200 [UBI] drivers/mtd/ubi/scan.c: kmalloc + memset conversion to kzalloc To be able to convert kmalloc + memset(..., 1, ...) to kzalloc this patch reverses the logic around 'buf'. Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit 4fb4caa639a27a3cb0b3bfbf2041524af43efff9 Author: Mariusz Kozlowski Date: Tue Jul 31 23:49:06 2007 +0200 [MTD] pmcmsp-flash.c: kmalloc + memset conversion to k[cz]alloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit 40562f812bb4b0211da07ad1927af030b089d3d3 Author: Mariusz Kozlowski Date: Tue Jul 31 23:22:18 2007 +0200 Documentation/DocBook/mtdnand.tmpl: kmalloc + memset conversion to kzalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit d67d1d7fc344e44b51296327a0b09a9419ca307f Author: Mariusz Kozlowski Date: Tue Jul 31 20:03:14 2007 +0200 [MTD] drivers/mtd/inftlmount.c: kmalloc + memset conversion to kcalloc Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit 8f0f23f97adbd833000e25e41c1310e49ace9ba8 Author: Mariusz Kozlowski Date: Fri Jul 27 17:29:32 2007 +0200 [MTD] remove redundant/dead code from physmap_of.c This patch removes redundant memset() and dead return line from of_physmap_probe(). No functional change. Signed-off-by: Mariusz Kozlowski Signed-off-by: David Woodhouse commit 518039bc24cbb9ce34665814fe120eac50bedd9a Author: Robin Getz Date: Wed Jul 25 11:03:28 2007 +0800 Blackfin arch: Add ability to expend the hardware trace buffer Add ability to expend the hardware trace buffer via a configurable software buffer - so you can have lots of history when a crash occurs. The interesting way we do printk in the traps.c confusese the checking script Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit f16295e7e7f2a2a15876f570f10d6dc8f1f36ab8 Author: Robin Getz Date: Fri Aug 3 18:07:17 2007 +0800 Blackfin arch: Fix CCLK and SCLK checks Fix CCLK and SCLK checks, combine all arch checks into one file for maintance. Checkins that remove more lines than they add are always good. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit b99ab54d4f11141b2ef3e50c3543b7243d3f49fb Author: Michael Hennerich Date: Thu Oct 11 10:57:54 2007 +0800 Blackfin serial driver: use new GPIO API Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 8c61362377970cd35cc37960b5cbed03cecd57e7 Author: Michael Hennerich Date: Fri Aug 3 17:48:09 2007 +0800 Blackfin arch: Some cosmetics based on LKML feedback from Joe Perches Signed-off-by: Michael Hennerich Cc: Joe Perches Signed-off-by: Bryan Wu commit 1708268f7ee5177c35826f047b91d7324f099ab0 Author: Mike Frysinger Date: Wed Jul 25 11:50:42 2007 +0800 Blackfin arch: scrub remaining ASSEMBLY usage since the switch to __ASSEMBLY__ Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 314c98d589b9da40af42cfe7213eff04c74caea3 Author: Michael Hennerich Date: Tue Jul 24 18:03:45 2007 +0800 Blackfin arch: add missing gpio error handling to make sure we roll back requests in case one fails Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 06039e90b90af4029184d577b3c66e59f6039a9e Author: Michael Hennerich Date: Mon Aug 27 16:57:55 2007 +0800 Blackfin arch: Fix define - SPORT0_DTPRI is first function Sigend-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 7c100f3b9073a8e64d843536f72a9414024f1969 Author: Bryan Wu Date: Sun Aug 5 15:43:03 2007 +0800 Blackfin arch: fix bugs report by Andy Liu , AD1836 can't be probed in BF561-EZ Cc: Andy Liu Signed-off-by: Bryan Wu commit 214cccbbb22136566e72956fcd23c48c2a4abb33 Author: Bryan Wu Date: Wed Jul 25 14:42:03 2007 +0800 Blackfin arch: bug fixing, add missing BF533_FAMILY GPIO_PFx definition Signed-off-by: Bryan Wu commit 31430ba58a3c33cf32aa89117876f6e24f1b9a6e Author: Michael Hennerich Date: Tue Jul 24 16:27:25 2007 +0800 Blackfin arch: Add PORT_J.High (needed for BF548-EZkit Touchscreen interrupts) - remove PORT_C.H Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 6782ea9ae8c2aa82dfeab84cb168126fbcbf4526 Author: Michael Hennerich Date: Tue Jul 24 15:16:59 2007 +0800 Blackfin arch: Add label to call new GPIO API Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 40d63406a0dfc070fff9336c182619a0b167f165 Author: Michael Hennerich Date: Wed Oct 10 22:55:30 2007 +0800 Blackfin arch: store labels so we later know who allocated GPIO/Peripheral resources Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit b2d1583f8e33c5472485fb99b29e065db373b675 Author: Michael Hennerich Date: Tue Jul 24 15:46:36 2007 +0800 Blackfin arch: Advertise GENERIC_GPIO and remove duplicated GENERIC_CALIBRATE_DELAY Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 301af2952b35fa527c89b4c0c0c1003d50afc378 Author: Michael Hennerich Date: Tue Jul 24 15:35:53 2007 +0800 Blackfin arch: Finalize the generic gpio support - add gpio_to_irq and irq_to_gpio Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit bc8c84c947ad65cd2850c43f96bea825e426f9eb Author: Mike Frysinger Date: Sun Aug 5 17:32:25 2007 +0800 Blackfin arch: update to latest anomaly sheets Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fb51d566803413d2682ca718aef1c6f946fdab05 Author: Robin Getz Date: Fri Aug 3 17:56:29 2007 +0800 Blackfin arch: Fix Anomaly hanlding, as pointed out by Mike Signed-off-by: Robin Getz Cc: Mike Frysinger Signed-off-by: Bryan Wu commit 35c724f310c4b73dbfa6503a46bf86a4c55f8193 Author: Mike Frysinger Date: Fri Aug 3 16:48:13 2007 +0800 Blackfin arch: fix typo... we want csync in CSYNC(), not ssync Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e208f83a7aa4ebf6c0a68e814903e8aa33f9439a Author: Mike Frysinger Date: Wed Jul 25 10:11:42 2007 +0800 Blackfin arch: use HI/LO macros rather than masking the bit ranges ourselves Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 36a1548f99e54520f049a703e1b91bae95e72481 Author: Mike Frysinger Date: Wed Jul 25 12:01:19 2007 +0800 Blackfin arch: reorganize headers slightly so we can be sure things are defined early enough Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d5148ffa600e6a655b458bedc593020e0574f967 Author: Mike Frysinger Date: Wed Jul 25 11:57:42 2007 +0800 Blackfin arch: use the [CS]SYNC() macros which include anomaly workarounds rather than __builtin_bfin_[cs]sync() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 60e9356d770ca3622fe5e84680b78fc376e53fbf Author: Mike Frysinger Date: Wed Jul 25 11:56:01 2007 +0800 Blackfin arch: update BF54x anomaly list Signed-off-by: Mike Frysinger Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 1aafd9091226a02b481298315f959f777294684e Author: Mike Frysinger Date: Wed Jul 25 11:19:14 2007 +0800 Blackfin arch: revise anomaly handling by basing things on the compiler not the kconfig defines revise anomaly handling by basing things on the compiler not the kconfig defines, so the header is stable and usable outside of the kernel. This also allows us to move some code from preprocessing to compiling (gcc culls dead code) which should help with code quality (readability, catch minor bugs, etc...). Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 287050fe13bf34824f03b4351002b0e2db4ee5cb Author: Mike Frysinger Date: Tue Jul 24 15:23:20 2007 +0800 Blackfin arch: cleanup and standardize anomaly.h file format -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c6c4d7bbbb498c38afa05688dfc2784948a0c4e2 Author: Bryan Wu Date: Thu Oct 11 01:20:06 2007 +0800 Blackfin arch: update platform driver resource information to all board files Signed-off-by: Bryan Wu commit c0b8ba7bfe7b4c1f11b3356b65520405b005bd33 Author: Artem Bityutskiy Date: Mon Jul 23 16:06:50 2007 +0300 [MTD] [NAND] fix race in nand_base.c When we mark block bad we have to get chip because this involves writing to the page's OOB. We hit this bug in UBI - we observed random obscure crashes when it marks block bad from the background thread and there is some parallel task which utilizes flash. This patch also adds a TODO note about BBT table protection which it seems does not exist. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 0bf9733d0d65ebb413d62204ad8e328e0a0b9407 Author: David Woodhouse Date: Mon Jul 23 13:07:06 2007 +0100 [MTD] Fix do_div() type warning in mtdconcat It expects a uint64_t; give it one. Signed-off-by: David Woodhouse commit e733450b675dfc07940c21b4832207c79059246f Author: Robert P. J. Day Date: Wed Jul 11 17:04:02 2007 -0400 [MTD] Remove useless references to MIPS_HYDROGEN3 and MIPS_MIRAGE_WHY. Signed-off-by: Robert P. J. Day Acked-by: Ralf Baechle Signed-off-by: David Woodhouse commit 4a32cfa0f5c3f9e8a0da610002e4555173226650 Author: Roland Stigge Date: Wed Jul 18 14:56:11 2007 +0200 [MTD] [NAND] Fix refactoring of EDB7312 hwcontrol function. The patch ensures that the current code (kernel 2.6.22) uses the bits like the code prior to the refactoring. The variable "bits" is employed in a useful way now. Signed-off-by: Roland Stigge Signed-off-by: David Woodhouse commit 030f9e13bec9aaae1def86c23963a1a825ccdab5 Author: akpm@linux-foundation.org Date: Fri Jul 20 11:56:19 2007 -0700 [MTD] Remove embedded return in RFD FTL. embedded returns are evil. Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 1050643431c74d29ac972141cb24df1d9aca65cd Author: Florin Malita Date: Thu Jul 19 16:45:18 2007 -0400 [MTD] Fix potential leak in rfd_ftl_add_mtd This fixes a leak in the !mtd->erasesize error path (Coverity 1765). Signed-off-by: Florin Malita Signed-off-by: David Woodhouse commit 4cfff0db3a60a775c29abd9cbc300fc0f616904b Author: Jesper Juhl Date: Sat Jul 21 17:02:36 2007 +0200 [MTD] Clean up duplicate includes in drivers/mtd/ This patch cleans up duplicate includes in drivers/mtd/ Signed-off-by: Jesper Juhl Signed-off-by: David Woodhouse commit 30eb0db07d67b9211da7f506220184df827e425d Author: Steven J. Hill Date: Wed Jul 18 23:29:46 2007 -0500 [MTD] [NAND] Add NAND manufacturer AMD. This patch adds the manufacturer ID for AMD flash. Signed-off-by: Steven J. Hill Signed-off-by: David Woodhouse commit 39fe5434cb9de5da40510028b17b96bc4eb312b3 Merge: 0fc72b8... f695baf... Author: David Woodhouse Date: Mon Jul 23 10:20:10 2007 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 0fc72b81d3111d114ab378935b1cf07680ca1289 Author: David Woodhouse Date: Wed Jul 11 15:33:14 2007 +0100 [JFFS2] Add declaration of jffs2_lzo_{init,exit} to compr.h fs/jffs2/compr.c: In function ‘jffs2_compressors_init’: fs/jffs2/compr.c:320: warning: implicit declaration of function ‘jffs2_lzo_init’ fs/jffs2/compr.c: In function ‘jffs2_compressors_exit’: fs/jffs2/compr.c:346: warning: implicit declaration of function ‘jffs2_lzo_exit’ Signed-off-by: David Woodhouse commit 3b23c1f5fa7e4c99e9451958a1004ef7434a71f0 Author: Richard Purdie Date: Tue Jul 10 10:28:42 2007 +0100 [JFFS2] Add a "favourlzo" compression mode Add a "favourlzo" compression mode to jffs2 which tries to optimise by size but gives lzo an advantage when comparing sizes. This means the faster lzo algorithm can be preferred when there isn't much difference in compressed size (the exact threshold can be changed). Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit c799aca31bfe61ba3a91133acf5a13a0773087d4 Author: Richard Purdie Date: Tue Jul 10 10:28:36 2007 +0100 [JFFS2] Add LZO compression support. Add LZO1X compression/decompression support to jffs2. LZO's interface doesn't entirely match that required by jffs2 so a buffer and memcpy is unavoidable. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 8691a729a2a3d739ee40a577053157393450aabd Author: Richard Purdie Date: Tue Jul 10 20:33:54 2007 +0100 [MTD] Add sync/unblank function to mtdoops mtdoops wasn't ensuring data was flushed to flash in crash situations after recent changes in mainline kernels as tracking the oops_in_progress variable was no longer enough. We can use the "unblank" console call as a sync call to tell us to write out the buffer though. Therefore add a sync function to mtdoops and call this when console unblank events occur. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit a2e96b627b58efe2d618a415f34b9b9d9f829bd6 Author: Yoichi Yuasa Date: Wed Jul 11 11:36:56 2007 +0900 [MTD] Remove Ocelot G support from DiskOnChip drivers. This patch has removed Ocelot G support from MTD. Ocelot G support has already removed since May 2007. Signed-off-by: Yoichi Yuasa Signed-off-by: David Woodhouse commit db1b39d8b860e3716620c225bc86e0ec41764e34 Merge: a6bc432... 4eb6bf6... Author: David Woodhouse Date: Wed Jul 11 14:55:48 2007 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit a6bc432e296dfa1f05d4b586ca5ca3085a2d42d7 Author: David Woodhouse Date: Wed Jul 11 14:23:54 2007 +0100 [JFFS2] Add support for write-buffer verification. We've seen some evil corruption issues, where the corruption seems to be introduced after the JFFS2 crc32 is calculated but before the NAND controller calculates the ECC. So it's in RAM or in the PCI DMA transfer; not on the flash. Attempt to catch it earlier by (optionally) reading back from the flash immediately after writing it. Signed-off-by: David Woodhouse commit ef53cb02ffee8ceb44ea75f778f77eace6b9c89a Author: David Woodhouse Date: Tue Jul 10 10:01:22 2007 +0100 [JFFS2] Whitespace cleanups. Convert many spaces to tabs; one or two other minor cosmetic fixes. Signed-off-by: David Woodhouse commit 16adce7b6f4dab015d0b93274b41f8aae6fe07a5 Author: David Woodhouse Date: Tue Jul 10 09:08:26 2007 +0100 [MTD] [ONENAND] Make onenand_sim compile on non-ARM platforms. The whole point of a sim is that it should run almost anywhere. Gratuitously depending on '#define SZ_128K 131072' from an ARM-specific header isn't really a good idea. Signed-off-by: David Woodhouse commit c9856e39e0c3b4d260e4614b66b0a7e0e79ec0ac Author: Philippe De Muyter Date: Thu Jul 5 17:05:47 2007 +0200 [MTD] [NOR] add FUJITSU MBM29F800BA and ST M29F800AB descriptions Add descriptions for Fujitsu MBM29F800BA and ST M29F800AB flash chips. Those chips are compatible (except for the ids) with the AMD AM29F800BB. Signed-off-by: Philippe De Muyter Signed-off-by: David Woodhouse commit b2e25235fe8b4b6cd8cd6a792cbe883d7417eaac Author: David Woodhouse Date: Thu Jul 5 01:57:26 2007 -0400 [JFFS2] Print correct node offset when complaining about broken data CRC Debugging the hardware problems in OLPC trac #1905 would be a whole lot easier if the correct node offsets were printed for the offending nodes. Signed-off-by: David Woodhouse commit 9c5ef0fbfa0b0be219290b05a39135b957479251 Merge: 8f1a866... 190045d... Author: David Woodhouse Date: Wed Jul 4 20:24:57 2007 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 8f1a866fc6831f13593fae6194e3150d45976628 Author: Jesper Juhl Date: Thu Jul 5 02:18:34 2007 +0200 [MTD] [CHIPS] fix tiny spelling error in comment in cfi_cmdset_0001.c Trivial fix of a spelling error in a comment in cfi_cmdset_0001.c s/ships/chips/ Signed-off-by: Jesper Juhl Signed-off-by: David Woodhouse commit 14c6381ee46b32b9b38073cd023b618ab4f60629 Author: David Woodhouse Date: Tue Jul 3 16:51:19 2007 -0400 [JFFS2] Fix readinode failure when read_dnode() detects CRC failure. We should have stopped returning 1 from read_dnode() to indicate failure. We can just mark the damn thing obsolete immediately. But I missed a case where we don't. Signed-off-by: David Woodhouse commit 8dab169b8bdea3bcbc08b15fdbd9a21526fdbb77 Author: Kyungmin Park Date: Sat Jun 30 14:14:43 2007 +0900 [MTD] OneNAND Simulator support This simulate various OneNAND flash chips for the MTD onenand layer. It's simple implementation, only basic operations. It don't support the recent changes in NANDSIM such as lazy block allocation, bitflip, and so on. Note: This passed nand-tests. Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit ee9745fcf214272b7cdd9d320d044cf433ee958e Author: Kyungmin Park Date: Sat Jun 30 13:57:49 2007 +0900 [MTD] [OneNAND] 2X program support The 2X Program is an extension of Program Operation. Since the device is equipped with two DataRAMs, and two-plane NAND Flash memory array, these two component enables simultaneous program of 4KiB. Plane1 has only even blocks such as block0, block2, block4 while Plane2 has only odd blocks such as block1, block3, block5. So MTD regards it as 4KiB page size and 256KiB block size Now the following chips support it. (KFXXX16Q2M) Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M, Mux: KFM2G16Q2M, KFN4G16Q2M, And more recent chips Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 1bddb9a8ba30dffa963c76283bc482b67fb90d8a Author: David Woodhouse Date: Fri Jun 29 14:46:49 2007 +0100 Revert accidental commit to scripts/Makefile.headersinst Commit 43dfa07fbb6b8bd5b6173a5bab48470f578c8e5b accidentally included a fix to scripts/Makefile.headersinst which it should not have done. Revert. Signed-off-by: David Woodhouse commit a97145c22408865579be397460ca998301ab63a3 Author: Adrian Bunk Date: Sun Jun 3 22:54:00 2007 +0200 [MTD] remove dead MTD_PMC551_APERTURE_SIZE option The CONFIG_MTD_PMC551_APERTURE_SIZE option seems to never have existed, so there's no reason for carrying an #ifdef for it. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 8e0aedc5bcb9da4f613af097295a02a57aa0d41c Author: David Woodhouse Date: Fri Jun 29 14:18:22 2007 +0100 [MTD] Use proper binary multiple prefixes in pmc551 driver Signed-off-by: David Woodhouse commit 8f46c527acdb84f98d48809ba29173f515de1080 Author: Adrian Bunk Date: Fri Jun 22 01:52:08 2007 +0200 [MTD] [NAND] cafe_nand.c: the OLPC laptop is not available for $100 The price might drop to $100 in a few years. But currently, a more reasonable name might be "$175 laptop". Let's simply call it "OLPC laptop" without any price tag. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 43dfa07fbb6b8bd5b6173a5bab48470f578c8e5b Author: David Woodhouse Date: Fri Jun 29 13:39:57 2007 +0100 [JFFS2] Deletion dirents should be REF_NORMAL, not REF_PRISTINE. Otherwise they'll never actually get garbage-collected. Noted by Jonathan Larmour. Signed-off-by: David Woodhouse commit 663d77a7ccfd407cf7491dbd53c7c17eef58c96a Author: Adrian Bunk Date: Thu Jun 28 23:02:59 2007 +0100 [MTD] [MAPS] Cleanup nettel map driver - make 2 needlessly global functions static - remove the unused nettel_eraseconfig() Signed-off-by: Adrian Bunk Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 1da1caf8d80e953d0ff0c2131b04ccc609c3baa8 Author: Randy Dunlap Date: Thu Jun 28 23:00:09 2007 +0100 [MTD] [NOR] Use NULL instead of 0 for pointer to shut sparse up. Use NULL instead of 0 for pointer: drivers/mtd/chips/cfi_cmdset_0001.c:2258:43: warning: Using plain integer as NULL pointer Other changes by inspection. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ec9ce52ef8f8496c83bc36a9b19f22e83575f890 Author: Matthias Kaehlcke Date: Thu Jun 28 22:58:42 2007 +0100 [MTD] Use mutex instead of semaphore in dataflash driver The MTD DataFlash driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 02d087dbc8cfade63205ee78612c5fd3762afc03 Author: David Woodhouse Date: Thu Jun 28 22:38:38 2007 +0100 [MTD] m25p80: Use correct units for binary multiples Signed-off-by: David Woodhouse commit fa0a8c71f352d89c54f2d3a92f7a8a97cdb7d9a4 Author: David Brownell Date: Sun Jun 24 15:12:35 2007 -0700 [MTD] m25p80 handles more chips, uses JEDEC ids and small eraseblocks Update chip ID tables in m25p80 to handle more SPI flash chips, matching datasheets. All of these can use the same core operations and are newer chips that support the JEDEC "read id" instruction: - Atmel AT25 and AT26 (seven chips) - Spansion S25SL (five chips) - SST 25VF (four chips) - ST M25, M45 (five more chips) - Winbond W25X series (seven chips) That JEDEC instruction is now used, either to support a sanity check on the platform data holding board configuration data, or to determine chip type when it's not included in platform data. In fact, boards that don't need a standard partition table may not need that platform data any more. For chips that support 4KiB erase units, use that smaller block size instead of the larger size (usually 64KiB); it's less wasteful. (Tested on W25X80.) Signed-off-by: David Brownell Signed-off-by: David Woodhouse commit 7d5230ea3987ea3eaa03601fe429cb69f87de3e3 Author: David Brownell Date: Sun Jun 24 15:09:13 2007 -0700 [MTD] m25p80 converted to mutex Convert semaphore usage in m25p80 driver to mutex; mention another kind of SPI flash chip that should be able to use this driver (given minor tweaks). Signed-off-by: David Brownell Signed-off-by: David Woodhouse commit 02d929187414f2095b30ebf4acee1ce6617add45 Author: Stefan Roese Date: Tue May 22 11:23:45 2007 +0200 [MTD] [NAND] Change NDFC driver to support 405 platforms too This patch adds 405 platform support to the 440 NDFC driver. The new AMCC 405EZ PPC is equipped with the same NDFC core as the 440EP(x) and other will follow soon. Signed-off-by: Stefan Roese Signed-off-by: David Woodhouse commit 356d70f19d949a11320ab626037b2d197a8e8b51 Author: Ben Dooks Date: Mon May 28 20:28:34 2007 +0100 [MTD] mtdcore.c: share syms with mtd_blkdev.c Fix the sparse warnings generated by the implicit dependency of mtd_blkdevs.c and mtd_core.c for the two symbols mtd_table and mtd_table_mutex. This is done by adding an local header file mtdcore.h to define these (including the warning about the non-proliferation of these symbols). Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 029a9eb1f667ca71fe7eb3bf8962f01ac4d252a5 Author: Ben Dooks Date: Mon May 28 20:11:37 2007 +0100 [MTD] [NOR] cfi_cmdset_0001.c: sparse fixes Fix sparse warnings generated from cfi_cmdset_0001.c. drivers/mtd/chips/cfi_cmdset_0001.c:1783:5: warning: symbol 'cfi_intelext_erase_varsize' was not declared. Should it be static? drivers/mtd/chips/cfi_cmdset_0001.c:2258:43: warning: Using plain integer as NULL pointer Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit ce0f33adec9737bdfe59a10d03fed0c674136ffe Author: Ben Dooks Date: Mon May 28 19:59:00 2007 +0100 [MTD] [NOR] cfi_cmdset_0002.c: fix 'cfi_amdstd_erase_varsize' to be static Make cfi_amdstd_erase_varsize static, as declared at the top of the file to ensure sparse does not print a warning for an undeclared function, as so: drivers/mtd/chips/cfi_cmdset_0002.c:1612:5: warning: symbol 'cfi_amdstd_erase_varsize' was not declared. Should it be static? Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 8f026f75accb8c9f1179a4b57a5019af36471046 Author: Ben Dooks Date: Mon May 28 19:51:59 2007 +0100 [MTD] mtd_blkdevs.c: do not export 'mtd_blktrans_ops' The mtd_blktrans_ops is not defined in any of the headers and is indeed not used elsewhere in the kernel, so mark it as static to reduce the warnings from sparse drivers/mtd/mtd_blkdevs.c:204:32: warning: symbol 'mtd_blktrans_ops' was not declared. Should it be static? Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 8b099a390defd294a3832fe73626c25072967316 Author: Ben Dooks Date: Mon May 28 19:17:54 2007 +0100 [MTD] [NAND] nand_base.c: fix type of eccpos pointer The nand_base.c driver implicitly casts the uint32_t eccpos array to 'int *', which is not only not guaranteed to be the same sign as the source, but is not guaranteed to be the same size. Fix by changing nand_base.c to use uint32_t referencing the eccpos fields. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 4b23aff083649eafa141ed69ad0ff59ba639edf8 Author: Richard Purdie Date: Tue May 29 13:31:42 2007 +0100 [MTD] oops and panic message logging to MTD device Kernel oops and panic messages are invaluable when debugging crashes. These messages often don't make it to flash based logging methods (say a syslog on jffs2) due to the overheads involved in writing to flash. This patch allows you to turn an MTD partition into a circular log buffer where kernel oops and panic messages are written to. The messages are obtained by registering a console driver and checking oops_in_progress. Erases are performed in advance to maximise the chances of a saving messages. To activate it, add console=ttyMTDx to the kernel commandline (where x is the mtd device number to use). Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 1100b47ea557e1cd6d9b71fe7ba1a189ed8bf276 Author: Ivan Kuten Date: Thu May 24 14:35:58 2007 +0300 [MTD] [NAND] at91_nand rdy_pin fix The patch below fixes nand driver for AT91 boards which do not have NAND R/B signal connected to gpio (rdy_pin is not connected). Signed-off-by: Ivan Kuten Acked-by: Andrew Victor Signed-off-by: David Woodhouse commit 4854b75c7795604ea6a0b6b7f549f145813343d0 Author: David Woodhouse Date: Thu Jun 28 20:13:27 2007 +0100 [MTD] Remove references to ROOT_DEV from map drivers. Signed-off-by: David Woodhouse commit e716dd3644c2a79d6ffa4359bac06f57479dcb34 Author: David Woodhouse Date: Thu Jun 28 19:49:36 2007 +0100 [JFFS2] Fix suspend failure with JFFS2 GC thread. The try_to_freeze() call was in the wrong place; we need it in the signal-pending loop now that a pending freeze also makes signal_pending() return true. Signed-off-by: David Woodhouse commit 66bfaeaa90432a585d7e9e70605ee4df3ede9890 Author: David Woodhouse Date: Thu Jun 28 19:03:11 2007 +0100 [JFFS2] Improve diagnostic output for 'node added in wrong place' check Jocke has seen this fail. We want to know why. Signed-off-by: David Woodhouse commit d364fb18cd991734eb54aa8840e70030b0c9f699 Author: Joakim Tjernlund Date: Wed Jun 27 01:24:09 2007 +0200 [JFFS2] Reduce time for which erase_free_sem is held during erase. With current desing erase_free_sem is locked every time the flash block is being erased. For NOR flashes - ~1 second is needed to erase single flash block. In the worst case scenario erase_free_sem may be locked for a couple of seconds when the number of blocks is being erased (e.g. after large file was removed). When erase_free_sem is locked all read/write operations for given JFFS2 partition are locked too - in effect from time to time access to the JFFS2 partition is locked for a number of seconds. This fix makes critical section in flash erasing procedure shorter - now erase_free_sem is locked around erase_completion_lock spinlock only. Originally from Radoslaw Bisewski Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit f79c44980aae3f50fe73e50789641df265953cc6 Author: Joakim Tjernlund Date: Sun Jun 24 19:22:29 2007 +0200 [JFFS2] Prevent oops after 'node added in wrong place' debug check jffs2_add_physical_node_ref() should never really return error -- it's an internal debugging check which triggered. We really need to work out why and stop it happening. But in the meantime, let's make the failure mode a little less nasty. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit fab2c399129273713b7dcc6a54cef17ca124a47f Author: Joakim Tjernlund Date: Fri Jun 1 15:14:09 2007 +0200 [JFFS2] Use point(), if available, to check newly erased blocks. Faster and won't trash the D-cache. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit 7eafaed55f4b8599cfe55449a6ed88d3693954de Author: Joakim Tjernlund Date: Wed Jun 27 00:56:40 2007 +0200 [MTD] Only call mtd->sync() method in mtdchar close if opened for write. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit fd5324909e410a3202c1b01bd507c2dfba58fca5 Author: Joakim Tjernlund Date: Tue Jun 26 23:32:10 2007 +0200 [JFFS2] Fix hanging close for /dev/mtd character device. When pdflush is erasing lots of sectors, drivers calling mtd->sync will hang until all blocks are erased. Be nicer. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse