commit e3ebadd95cb621e2c7436f3d3646447ac9d5c16d Author: Linus Torvalds Date: Mon May 7 08:44:24 2007 -0700 Revert "[PATCH] x86: __pa and __pa_symbol address space separation" This was broken. It adds complexity, for no good reason. Rather than separate __pa() and __pa_symbol(), we should deprecate __pa_symbol(), and preferably __pa() too - and just use "virt_to_phys()" instead, which is more readable and has nicer semantics. However, right now, just undo the separation, and make __pa_symbol() be the exact same as __pa(). That fixes the bugs this patch introduced, and we can do the fairly obvious cleanups later. Do the new __phys_addr() function (which is now the actual workhorse for the unified __pa()/__pa_symbol()) as a real external function, that way all the potential issues with compile/link-time optimizations of constant symbol addresses go away, and we can also, if we choose to, add more sanity-checking of the argument. Cc: Eric W. Biederman Cc: Vivek Goyal Cc: Andi Kleen Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 15700770ef7c5d12e2f1659d2ddbeb3f658d9f37 Merge: 6de410c... 11de39e... Author: Linus Torvalds Date: Sun May 6 13:21:57 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits) kconfig: fix mconf segmentation fault kbuild: enable use of code from a different dir kconfig: error out if recursive dependencies are found kbuild: scripts/basic/fixdep segfault on pathological string-o-death kconfig: correct minor typo in Kconfig warning message. kconfig: fix path to modules.txt in Kconfig help usr/Kconfig: fix typo kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs' kbuild: be more explicit on missing .config file kbuild: clarify the creation of the LOCALVERSION_AUTO string. kbuild: propagate errors from find in scripts/gen_initramfs_list.sh kconfig: refer to qt3 if we cannot find qt libraries kbuild: handle compressed cpio initramfs-es kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text kbuild: remove stale comment in modpost.c kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE kbuild: fix make mrproper for Documentation/DocBook/man kbuild: remove kconfig binaries during make mrproper kconfig/menuconfig: do not hardcode '.config' kbuild: override build timestamp & version ... commit 6de410c2b0cc055ae9ee640c84331f6a70878d9b Merge: c6799ad... 2ff81f7... Author: Linus Torvalds Date: Sun May 6 13:21:18 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: (66 commits) KVM: Remove unused 'instruction_length' KVM: Don't require explicit indication of completion of mmio or pio KVM: Remove extraneous guest entry on mmio read KVM: SVM: Only save/restore MSRs when needed KVM: fix an if() condition KVM: VMX: Add lazy FPU support for VT KVM: VMX: Properly shadow the CR0 register in the vcpu struct KVM: Don't complain about cpu erratum AA15 KVM: Lazy FPU support for SVM KVM: Allow passing 64-bit values to the emulated read/write API KVM: Per-vcpu statistics KVM: VMX: Avoid unnecessary vcpu_load()/vcpu_put() cycles KVM: MMU: Avoid heavy ASSERT at non debug mode. KVM: VMX: Only save/restore MSR_K6_STAR if necessary KVM: Fold drivers/kvm/kvm_vmx.h into drivers/kvm/vmx.c KVM: VMX: Don't switch 64-bit msrs for 32-bit guests KVM: VMX: Reduce unnecessary saving of host msrs KVM: Handle guest page faults when emulating mmio KVM: SVM: Report hardware exit reason to userspace instead of dmesg KVM: Retry sleeping allocation if atomic allocation fails ... commit c6799ade4ae04b53a5f677e5289116155ff01574 Merge: b7405e1... 5cd4715... Author: Linus Torvalds Date: Sun May 6 13:20:10 2007 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits) [ARM] Add comments marking in-use ptrace numbers [ARM] Move syscall saving out of the way of utrace [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header [ARM] mm 10: allow memory type to be specified with ioremap [ARM] mm 9: add additional device memory types [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6 [ARM] iop: add missing parens in macro [ARM] mm 7: remove duplicated __ioremap() prototypes ARM: OMAP: fix OMAP1 mpuio suspend/resume oops ARM: OMAP: MPUIO wake updates ARM: OMAP: speed up gpio irq handling ARM: OMAP: plat-omap changes for 2430 SDP ARM: OMAP: gpio object shrinkage, cleanup ARM: OMAP: /sys/kernel/debug/omap_gpio ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon ARM: OMAP: Enable 24xx GPIO autoidling [ARM] 4318/2: DSM-G600 Board Support [ARM] 4227/1: minor head.S fixups [ARM] 4328/1: Move i.MX UART regs to driver ... commit 5cd47155155a32e5b944ac9fc3f3dc578e429aa0 Merge: 6f95416... 28bd3a0... Author: Russell King Date: Sun May 6 20:58:29 2007 +0100 Merge branch 'ixp4xx' into devel Conflicts: include/asm-arm/arch-ixp4xx/io.h commit 6f95416ebe81b3ad63884538555efb81cb05749f Merge: 3603ab2... 93afa75... 075192a... ff4bfb2... ad902cb... 1b11652... fe7fdb8... 13ea55b... fcf126d... 7053acb... 5559bca... d0fdb5a... d0a9d75... Author: Russell King Date: Sun May 6 20:57:51 2007 +0100 Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx', 'ns9xxx', 'omap', 'pxa', 'rpc', 's3c' and 'sa1100' into devel commit 1b11652286a06988f721b506b094d026e8892e2c Author: Russell King Date: Sun May 6 14:49:56 2007 +0100 [ARM] Add comments marking in-use ptrace numbers Signed-off-by: Russell King commit 5ba6d3febd4978f31b2c523d64d381603923a709 Author: Russell King Date: Sun May 6 13:56:26 2007 +0100 [ARM] Move syscall saving out of the way of utrace utrace removes the ptrace_message field in task_struct. Move our use of this field into a new member in thread_info called "syscall" Signed-off-by: Russell King commit 11de39e2fbbc592018e0a231d0ee773653dcc8d6 Author: Marcin Garski Date: Sat May 5 22:49:00 2007 +0200 kconfig: fix mconf segmentation fault I have found small bug in mconf, when you run it without any argument it will sigsegv. Without patch: $ scripts/kconfig/mconf Segmentation fault With patch: $ scripts/kconfig/mconf can't find file (null) Signed-off-by: Marcin Garski Signed-off-by: Sam Ravnborg commit 767e581d759fe6adfef5e676cd1cd8e11f603d1a Author: Sam Ravnborg Date: Sun May 6 09:23:45 2007 +0200 kbuild: enable use of code from a different dir To introduce support for source in one directory but output files in another directory during a non O= build prefix all paths with $(src) repsectively $(obj). Signed-off-by: Sam Ravnborg commit 5447d34b080a1e3e312b05a91e87eff4710a1152 Author: Sam Ravnborg Date: Sun May 6 09:20:10 2007 +0200 kconfig: error out if recursive dependencies are found Sample: config FOO bool "This is foo" depends on BAR config BAR bool "This is bar" depends on FOO This will result in following error message: error: found recursive dependency: FOO -> BAR -> FOO And will then exit with exit code equal 1 so make will stop. Inspired by patch from: Adrian Bunk Signed-off-by: Sam Ravnborg Cc: Adrian Bunk Cc: Roman Zippel commit b7405e16435f710edfae6ba32bef4ca20d3de145 Merge: ea62ccd... 0ec54aa... Author: Linus Torvalds Date: Sat May 5 15:30:53 2007 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix typo in cifs readme from previous commit [CIFS] Make sec=none force an anonymous mount [CIFS] Change semaphore to mutex for cifs lock_sem [CIFS] Fix oops in reset_cifs_unix_caps on reconnect [CIFS] UID/GID override on CIFS mounts to Samba [CIFS] prefixpath mounts to servers supporting posix paths used wrong slash [CIFS] Update cifs version to 1.49 [CIFS] Replace kmalloc/memset combination with kzalloc [CIFS] Add IPv6 support [CIFS] New CIFS POSIX mkdir performance improvement (part 2) [CIFS] New CIFS POSIX mkdir performance improvement [CIFS] Add write perm for usr to file on windows should remove r/o dos attr [CIFS] Remove unnecessary parm to cifs_reopen_file [CIFS] Switch cifsd to kthread_run from kernel_thread [CIFS] Remove unnecessary checks commit 0ec54aa8af5e6faa346aa55a1ad15ee6c25bb42d Author: Steve French Date: Sat May 5 22:08:06 2007 +0000 [CIFS] Fix typo in cifs readme from previous commit Signed-off-by: Steve French commit ea62ccd00fd0b6720b033adfc9984f31130ce195 Merge: 886a076... 35060b6... Author: Linus Torvalds Date: Sat May 5 14:55:20 2007 -0700 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (231 commits) [PATCH] i386: Don't delete cpu_devs data to identify different x86 types in late_initcall [PATCH] i386: type may be unused [PATCH] i386: Some additional chipset register values validation. [PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split. [PATCH] x86-64: Don't exclude asm-offsets.c in Documentation/dontdiff [PATCH] i386: avoid redundant preempt_disable in __unlazy_fpu [PATCH] i386: white space fixes in i387.h [PATCH] i386: Drop noisy e820 debugging printks [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c [PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems [PATCH] x86-64: Share identical video.S between i386 and x86-64 [PATCH] x86-64: Remove CONFIG_REORDER [PATCH] x86-64: Print type and size correctly for unknown compat ioctls [PATCH] i386: Remove copy_*_user BUG_ONs for (size < 0) [PATCH] i386: Little cleanups in smpboot.c [PATCH] x86-64: Don't enable NUMA for a single node in K8 NUMA scanning [PATCH] x86: Use RDTSCP for synchronous get_cycles if possible [PATCH] i386: Add X86_FEATURE_RDTSCP [PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386 [PATCH] i386: Implement alternative_io for i386 ... Fix up trivial conflict in include/linux/highmem.h manually. Signed-off-by: Linus Torvalds commit 886a0768affe9a32f18c45f8e1393bca9ece5392 Author: Linus Torvalds Date: Sat May 5 14:23:40 2007 -0700 Fix compile of tmscsim SCSI driver It still used the long-deprecated "pci_module_init()" interface, rather than the proper "pci_register_driver()" one. [ I don't have the hardware, and I doubt many do, but the fix is trivial and obvious, and can't be worse than not compiling ] Signed-off-by: Linus Torvalds commit 989485c190cc6a64e5a21d98ef2d752df1db8c27 Author: Ralf Baechle Date: Sat May 5 22:05:11 2007 +0100 Fix nfsroot build CC fs/nfs/nfsroot.o fs/nfs/nfsroot.c:131: error: tokens causes a section type conflict make[2]: *** [fs/nfs/nfsroot.o] Error 1 This is due to mixing const and non-const content in the same section which halfway recent gccs absolutely hate. Fixed by dropping the const. Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 68762f3d8e7ea644fae1f490f9850ebf462548bd Merge: 4f7a307... 7544b09... Author: Linus Torvalds Date: Sat May 5 14:13:36 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [TG3]: Add TG3_FLAG_SUPPORT_MSI flag. [TG3]: Eliminate the TG3_FLAG_5701_REG_WRITE_BUG flag. [TG3]: Eliminate the TG3_FLAG_GOT_SERDES_FLOWCTL flag. [TG3]: Remove reset during MAC address changes. [TG3]: WoL fixes. [TG3]: Clear GPIO mask before storing. [TG3]: Improve NVRAM sizing. [TG3]: Fix TSO bugs. [MAC80211]: Add maintainers entry for mac80211. [MAC80211]: Add debugfs attributes. [MAC80211]: Add mac80211 wireless stack. [MAC80211]: Add generic include/linux/ieee80211.h [NETLINK]: Remove references to process ID [AF_IUCV]: Compile fix - adopt to skbuff changes. commit 4f7a307dc6e4d8bfeb56f7cf7231b08cb845687c Merge: fabb5c4... 7297824... Author: Linus Torvalds Date: Sat May 5 13:30:44 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (87 commits) [SCSI] fusion: fix domain validation loops [SCSI] qla2xxx: fix regression on sparc64 [SCSI] modalias for scsi devices [SCSI] sg: cap reserved_size values at max_sectors [SCSI] BusLogic: stop using check_region [SCSI] tgt: fix rdma transfer bugs [SCSI] aacraid: fix aacraid not finding device [SCSI] aacraid: Correct SMC products in aacraid.txt [SCSI] scsi_error.c: Add EH Start Unit retry [SCSI] aacraid: [Fastboot] Panics for AACRAID driver during 'insmod' for kexec test. [SCSI] ipr: Driver version to 2.3.2 [SCSI] ipr: Faster sg list fetch [SCSI] ipr: Return better qc_issue errors [SCSI] ipr: Disrupt device error [SCSI] ipr: Improve async error logging level control [SCSI] ipr: PCI unblock config access fix [SCSI] ipr: Fix for oops following SATA request sense [SCSI] ipr: Log error for SAS dual path switch [SCSI] ipr: Enable logging of debug error data for all devices [SCSI] ipr: Add new PCI-E IDs to device table ... commit fabb5c4e4a474ff0f7d6c1d3466a1b79bbce5f49 Merge: aa12b28... d644451... Author: Linus Torvalds Date: Sat May 5 13:30:23 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6: [VOYAGER] add smp alternatives [VOYAGER] Use modern techniques to setup and teardown low identiy mappings. [VOYAGER] Convert the monitor thread to use the kthread API [VOYAGER] clockevents driver: bring voyager in to line [VOYAGER] clockevents: correct boot cpu is zero assumption [VOYAGER] add smp_call_function_single commit d0fdb5a58e17cf788c76a52a53174dbc8fb58ee9 Author: Arnaud Patard Date: Sat May 5 15:55:09 2007 +0100 [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro The S3C2410_UDC_SETIX() macro is not used and won't be used by the udc driver, so delete it. Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c4b5bd4b101a8da1fb24a072adde276547462b43 Author: Arnaud Patard Date: Sat May 5 15:12:17 2007 +0100 [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header linux/mmc/protocol.h header is gone, thus breaking the build of the mach-qt2410.c file. As this header is not used, I'm removing it. The right headers may still be added later if needed. Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 7544b0972c1fc1a0e6c54baa1f44c81019743daa Author: Michael Chan Date: Sat May 5 13:08:32 2007 -0700 [TG3]: Add TG3_FLAG_SUPPORT_MSI flag. And fix up the code to always allow MSI on 5714 A2. Call tg3_find_peer() earlier because we need that information before we can determine whether we can set TG3_FLAG_SUPPORT_MSI or not. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit aa12b2842aba8cc367a2e1ddb5c6ae4fd8ddb1da Author: Fabrice Aeschbacher Date: Sat May 5 22:03:51 2007 +0200 ide-cs: recognize 2GB CompactFlash from Transcend Without the following patch, the kernel does not automatically detect 2GB CompactFlash cards from Transcend. Signed-off-by: Fabrice Aeschbacher Cc: Dominik Brodowski Acked-by: Peter Stuge Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit fdb0d72be4decaade6cedb5012ddd679a4817b5f Author: Sergei Shtylyov Date: Sat May 5 22:03:51 2007 +0200 hpt366: don't check enablebits for HPT36x HPT36x chip don't seem to have the channel enable bits, so prevent the IDE core from checking them... Signed-off-by: Sergei Shtylyov Cc: Michal Kepien Signed-off-by: Bartlomiej Zolnierkiewicz commit 55e4dee32916a569112f33a511adab4bd72cc4a2 Author: Bartlomiej Zolnierkiewicz Date: Sat May 5 22:03:51 2007 +0200 ide-cris: fix ->speedproc and wrong ->swdma_mask * fix ->speedproc to set the drive speed * this driver doesn't support SWDMA so use the correct ->swdma_mask * BUG() if an unsupported mode is passed to ->speedproc Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e60d3762f32c9573a449950717a3de12dfebbe3 Author: Bartlomiej Zolnierkiewicz Date: Sat May 5 22:03:51 2007 +0200 siimage: fix wrong ->swdma_mask This driver doesn't support SWDMA so use the correct ->swdma_mask. While at it: * no need to call config_chipset_for_pio() in config_chipset_for_dma(), if DMA is not available config_chipset_for_pio() will be called by siimage_config_drive_for_dma() and if DMA is available config_siimage_chipset_for_pio() will be called by siimage_tune_chipset() * remove needless config_chipset_for_pio() wrapper * bump driver version Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e9b4e535fec7e2a189952670937adfbe2826b63 Author: Bartlomiej Zolnierkiewicz Date: Sat May 5 22:03:50 2007 +0200 it821x: PIO mode setup fixes * limit max PIO mode to PIO4, this driver doesn't support PIO5 and attempt to setup PIO5 by it821x_tuneproc() could result in incorrect PIO timings + incorrect base clock being set for controller in the passthrough mode * move code limiting max PIO according to the pair device capabilities from config_it821x_chipset_for_pio() to it821x_tuneproc() so the check is also applied for mode change requests coming through ->tuneproc and ->speedproc interfaces * set device speed in it821x_tuneproc() * in it821x_tune_chipset() call it821x_tuneproc() also if the controller is in the smart mode (so the check for pair device max PIO is done) * rename it821x_tuneproc() to it821x_tune_pio(), then add it821x_tuneproc() wrapper which does the max PIO mode check; it worked by the pure luck previously, pio[4] and pio_want[4] arrays were used with index == 255 so random PIO timings and base clock were set for the controller in the passthrough mode, thankfully PIO timings and base clock were corrected later by config_it821x_chipset_for_pio() call (but it was not called for PIO-only devices during resume and for user requested PIO autotuning) * remove config_it821x_chipset_for_pio() call from config_chipset_for_dma() as the driver sets ->autotune to 1 and ->tuneproc does the proper job now * convert the last user of config_it821x_chipset_for_pio() to use it821x_tuneproc(drive, 255) and remove no longer needed function While at it: * fix few comments * bump driver version Signed-off-by: Bartlomiej Zolnierkiewicz commit 247b03f8dc4c01659030889f7fb4574013974ac6 Author: Bartlomiej Zolnierkiewicz Date: Sat May 5 22:03:50 2007 +0200 pdc202xx_new: enable DMA for all ATAPI devices There is no reason to limit DMA to ide_cdrom type devices. Signed-off-by: Bartlomiej Zolnierkiewicz commit 072cdcbb7af8a0e1894f9caa6d46d027bbe7f647 Author: Bartlomiej Zolnierkiewicz Date: Sat May 5 22:03:50 2007 +0200 alim15x3: PIO fallback fix If DMA tuning fails always set the best PIO mode. Signed-off-by: Bartlomiej Zolnierkiewicz commit 826a1b6502d0d1d67fc41043fc831e90f2ef5835 Author: Sergei Shtylyov Date: Sat May 5 22:03:50 2007 +0200 aec62xx: fix PIO/DMA setup issues Teach the driver's tuneproc() method to do PIO auto-runing properly since it treated 5 instead of 255 as auto-tune request, and also passed the mode limit of PIO5 to ide_get_best_pio_mode() despite supporting up to PIO4 only. While at it, also: - remove the driver's wrong claim about supporting SWDMA modes; - stop hooking ide_dma_timeout() method as the handler clearly doesn't fit for the task... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 66602c83dcb6a5d82772d88ae7a32cd4a1213528 Author: Sergei Shtylyov Date: Sat May 5 22:03:50 2007 +0200 cmd64x: use interrupt status from MRDMODE register (take 2) Fold the parts of the ide_dma_end() methods identical to __ide_dma_end() into a mere call to it. Start using faster versions of the ide_dma_end() and ide_dma_test_irq() methods for the PCI0646U and newer chips that have the duplicate interrupt status bits in the I/O mapped MRDMODE register, determing what methods to use at the driver load time. Do some cleanup/renaming in the "old" ide_dma_test_irq() method too. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5826b318aa02e81575c352ca26f00773c999795b Author: Sergei Shtylyov Date: Sat May 5 22:03:50 2007 +0200 cmd64x: procfs code fixes/cleanups (take 2) Fix several issues with the driver's procfs output: - when testing if channel is enabled, the code looks at the "simplex" bits, not at the real enable bits -- add #define for the primary channel enable bit; - UltraDMA modes 0, 1, 3 for slave drive reported incorrectly due to using the master drive's clock cycle resolution bit. While at it, also perform the following cleanups: - don't print extra newline before the first controller's dump; - correct the chipset names (from CMDxxx to PCI-xxx) - don't read from the registers which aren't used for dump; - better align the table column sizes; - rework UltraDMA mode dump code; - remove PIO mode dump code that has never been finished; - remove the duplicate interrupt status (the MRDMODE register bits mirror those those in the CFR and ARTTIM23 registers) and fold the dump into single line; - correct the style of the ?: operators... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7accbffdb8163a59c7bdd3e4eb9a391198979522 Author: Sergei Shtylyov Date: Sat May 5 22:03:49 2007 +0200 cmd64x: add/fix enablebits (take 2) The IDE core looks at the wrong bit when checking if the secondary channel is enabled on PCI0646 -- CNTRL register bit 7 is read-ahead disable, bit 3 is the correct one. Starting with PCI0646U chip, the primary channel can also be enabled/disabled -- so, add 'enablebits' initializers to each 'ide_pci_device_t' structure, handling the original PCI0646 via adding the init_setup() method and clearing the 'reg' field there if necessary... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e51e2528d589c13f0e51dfa671c310021d003e21 Author: Sergei Shtylyov Date: Sat May 5 22:03:49 2007 +0200 cmd64x: interrupt status fixes (take 2) The driver's ide_dma_test_irq() method was reading the MRDMODE register even on PCI0643/6 where it was write-only -- fix this by always reading the "backward- compatible" interrupt bits, renaming dma_alt_stat to irq_stat as the interrupt status bits are not coupled to DMA. In addition, wrong interrupt bit was tested/cleared for the primary channel -- it's bit 2 in all the chip specs and the driver used bit 1... :-/ Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 60e7a82f1acb76af05d81e93ca0f65fdd52c23c2 Author: Sergei Shtylyov Date: Sat May 5 22:03:49 2007 +0200 cmd64x: fix multiword and remove single-word DMA support Fix the multiword DMA and drop the single-word DMA support (which nobody will miss, I think). In order to do it, a number of changes was necessary: - rename program_drive_counts() to program_cycle_times(), pass to it cycle's total/active times instead of the clock counts, and convert them into the active/recovery clocks there instead of cmd64x_tune_pio() -- this causes quantize_timing() to also move; - contrarywise, move all the code handling the address setup timing into cmd64x_tune_pio(), so that setting MWDMA mode wouldn't change address setup; - remove from the speedproc() method the bogus code pretending to set the DMA timings by twiddling bits in the BMIDE status register, handle setting MWDMA by just calling program_cycle_times(); while at it, improve the style of that whole switch statement; - stop fiddling with the DMA capable bits in the speedproc() method -- they do not enable DMA, and are properly dealt with by the dma_host_{on,off} methods; - don't set hwif->swdma_mask in the init_hwif() method anymore. In addition to those changes, do the following: - in cmd64x_tune_pio(), when writing to ARTTIM23 register preserve the interrupt status bit, eliminate local_irq_{save|restore}() around this code as there's *no* actual race with the interrupt handler, and move cmdprintk() to a more fitting place -- after ide_get_best_pio_mode() call; - make {arttim|drwtim}_regs arrays single-dimensional, indexed with drive->dn; - rename {setup|recovery}_counts[] into more fitting {setup|recovery}_values[]; - in the speedproc() method, get rid of the duplicate reads/writes from/to the UDIDETCRx registers and of the extra variable used to store the transfer mode value after filtering, use another method of determining master/slave drive, and cleanup useless parens; - beautify cmdprintk() output here and there. While at it, remove meaningless comment about the driver being used only on UltraSPARC and long non-relevant RCS tag. :-) Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 688a87d145e04f6761c63e7f2e19fd9b3e4ca060 Author: Sergei Shtylyov Date: Sat May 5 22:03:49 2007 +0200 sl82c105: DMA support code cleanup (take 4) Fold the now equivalent code in the ide_dma_check() method into a mere call to ide_use_dma(). Make config_for_dma() return non-zero if DMA mode has been set and call it from the ide_dma_check() method instead of ide_dma_on(). Defer writing the DMA timings to the chip registers until DMA is really turned on (and do not enable IORDY for DMA). Remove unneeded code from the init_hwif() method, improve its overall looks. Rename the dma_start(), ide_dma_check(), and ide_dma_lostirq() methods, and also use more proper hwif->dma_command, fix printk() and comment in the latter one as well. While at it, cleanup style in several places. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e93df705af1992dbf5956a8c80fcb9987bc595c0 Author: Sergei Shtylyov Date: Sat May 5 22:03:49 2007 +0200 sl82c105: rework PIO support (take 2) Get rid of the 'pio_speed' member of 'ide_drive_t' that was only used by this driver by storing the PIO mode timings in the 'drive_data' instead -- this allows us to greatly simplify the process of "reloading" of the chip's timing register and do it right in sl82c150_dma_off_quietly() and to get rid of two extra arguments to config_for_pio() -- which got renamed to sl82c105_tune_pio() and now returns a PIO mode selected, with ide_config_drive_speed() call moved into the tuneproc() method, now called sl82c105_tune_drive() with the code to set drive's 'io_32bit' and 'unmask' flags in its turn moved to its proper place in the init_hwif() method. Also, while at it, rename get_timing_sl82c105() into get_pio_timings() and get rid of the code in it clamping cycle counts to 32 which was both incorrect and never executed anyway... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3603ab2b62ad8372fc93816b080b370dd55d7cec Author: Russell King Date: Sat May 5 20:59:27 2007 +0100 [ARM] mm 10: allow memory type to be specified with ioremap __ioremap() took a set of page table flags (specifically the cacheable and bufferable bits) to control the mapping type. However, with the advent of ARMv6, this is far too limited. Replace the page table flags with a memory type index, so that the desired attributes can be selected from the mem_type table. Finally, to prevent silent miscompilation due to the differing arguments, rename the __ioremap() and __ioremap_pfn() functions. Signed-off-by: Russell King commit 98efd8a6be79550767f5a9be6f3db8e7e9b747da Author: Matt Carlson Date: Sat May 5 12:47:25 2007 -0700 [TG3]: Eliminate the TG3_FLAG_5701_REG_WRITE_BUG flag. This patch removes the use of the TG3_FLAG_5701_REG_WRITE_BUG flag. It's logic is only used to set a function pointer and thus the logic can be collapsed and the flag removed. [ Comment tidy by Christoph Hellwig. -DaveM ] Signed-off-by: Matt Carlson Signed-off-by: Michael Chan commit 0af92befeb4b330c46cce6b520b2cc775cd6931f Author: Russell King Date: Sat May 5 20:28:16 2007 +0100 [ARM] mm 9: add additional device memory types Add cached device type for ioremap_cached(). Group all device memory types together, and ensure that they all have a "MT_DEVICE" prefix. Signed-off-by: Russell King commit 5cf64b8a7399999439f0d6748babb1ccb6bcad7c Author: Michael Chan Date: Sat May 5 12:11:21 2007 -0700 [TG3]: Eliminate the TG3_FLAG_GOT_SERDES_FLOWCTL flag. This flag does not do anything useful. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 986e0aeb9ae09127b401c3baa66f15b7a31f354c Author: Michael Chan Date: Sat May 5 12:10:20 2007 -0700 [TG3]: Remove reset during MAC address changes. The reset was added a while back so that ASF could re-init whatever MAC address it wanted to use after the MAC address was changed. Instead of resetting, we can just keep MAC address 1 unchanged during MAC address changes if MAC address 1 is different from MAC address 0. This fixes 2 problems: 1. Bonding calls set_mac_address in contexts that cannot sleep. It no longer sleeps with the chip reset removed. 2. When ASF shares the same MAC address as the NIC, it needs to always do that even when the MAC address is changed. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9ef7963503abd3287943125681c2dc17879e8d4e Author: Russell King Date: Sat May 5 20:03:35 2007 +0100 [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6 Change the memory types table to define the L1 descriptor bit 4 to be in terms of the ARMv6 definition - execute never. Signed-off-by: Russell King commit a85feb8cfc53c08b6f0d770f930ca9cc6885f414 Author: Gary Zambrano Date: Sat May 5 11:52:19 2007 -0700 [TG3]: WoL fixes. Change TG3_FLAG_SERDES_WOL_CAP to TG3_FLAG_WOL_CAP to make it easier to manage WoL. This flag is now used consistently during ethtool WoL setup and power setting changes. Signed-off-by: Gary Zambrano Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit aaf84465fc994e9a840a8c0c6fa842b54cdb3426 Author: Gary Zambrano Date: Sat May 5 11:51:45 2007 -0700 [TG3]: Clear GPIO mask before storing. The GPIO settings may change during reset and so the stored values in tp->grc_local_ctrl should be cleared first. Signed-off-by: Gary Zambrano Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 989a9d239c5b9ae6053aed6e3819304930baf27d Author: Matt Carlson Date: Sat May 5 11:51:05 2007 -0700 [TG3]: Improve NVRAM sizing. This patch changes the NVRAM sizing procedure so that the driver can take advantage of devices with 1:1 NVRAM strapping configurations. This is useful in cases where the traditional NVRAM sizing method fails. In the event that the flash size cannot be determined, the largest known NVRAM size is used. The patch also removes support for 5755 NVRAM devices that are not supported by Broadcom and adds explicit sizing for this device. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c13e3713857d5ea572cd67f3d5749100b1963ad2 Author: Matt Carlson Date: Sat May 5 11:50:04 2007 -0700 [TG3]: Fix TSO bugs. 1. Remove the check for skb->len greater than MTU when doing TSO. When the destination has a smaller MSS than the source, a TSO packet may be smaller than the MTU and we still need to process it as a TSO packet. 2. On 5705A3 devices with TSO enabled, the DMA engine can hang due to a hardware bug. This patch avoids the hanging condition by reducing the DMA burst size. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 64a327a7029d3860ddf6a024816afa9e6673eb57 Author: Jiri Benc Date: Sat May 5 11:47:08 2007 -0700 [MAC80211]: Add maintainers entry for mac80211. Add MAINTAINERS entry for mac80211. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e9f207f0ff90bf60b825800d7450e6f2ff2eab88 Author: Jiri Benc Date: Sat May 5 11:46:38 2007 -0700 [MAC80211]: Add debugfs attributes. Export various mac80211 internal variables through debugfs. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f0706e828e96d0fa4e80c0d25aa98523f6d589a0 Author: Jiri Benc Date: Sat May 5 11:45:53 2007 -0700 [MAC80211]: Add mac80211 wireless stack. Add mac80211, the IEEE 802.11 software MAC layer. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit a9de8ce0943e03b425be18561f51159fcceb873d Author: Jiri Benc Date: Sat May 5 11:43:04 2007 -0700 [MAC80211]: Add generic include/linux/ieee80211.h Add generic IEEE 802.11 definitions. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit cf130cb102487723bdfc53e4abde1227a7563797 Author: Herbert Xu Date: Sat May 5 11:42:03 2007 -0700 [NETLINK]: Remove references to process ID People treating the *_pid fields in netlink as a process ID has caused endless confusion over the years. The fact that our own netlink.h does this only adds to the confusion. So here is a patch to change the comments to refer to it as the port ID which hopefully will make it clear what the purpose of the fields really is. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit af7cd373b01ccb8191dc16c77fff4cf2b11def50 Author: Heiko Carstens Date: Sat May 5 11:41:18 2007 -0700 [AF_IUCV]: Compile fix - adopt to skbuff changes. From: Heiko Carstens CC [M] net/iucv/af_iucv.o net/iucv/af_iucv.c: In function `iucv_fragment_skb': net/iucv/af_iucv.c:984: error: structure has no member named `h' net/iucv/af_iucv.c:985: error: structure has no member named `nh' net/iucv/af_iucv.c:988: error: incompatible type for argument 1 of `skb_queue_tail' Signed-off-by: Heiko Carstens Signed-off-by: David S. Miller commit ad902cb9e29a4d6ff155f682ae79d8d8b2b73a9b Author: Russell King Date: Sat May 5 11:59:13 2007 +0100 [ARM] iop: add missing parens in macro Fix: drivers/serial/8250.c:1837: warning: suggest parentheses around arithmetic in operand of | due to a macro argument being used without required parenthesis. Signed-off-by: Russell King commit 0058ca32c3004547ede575668a2be31862b92000 Author: Russell King Date: Sat May 5 11:57:39 2007 +0100 [ARM] mm 7: remove duplicated __ioremap() prototypes Signed-off-by: Russell King commit fcf126d847c41461d4f034b11541296f3e15d0b2 Author: David Brownell Date: Mon Apr 2 12:46:47 2007 -0700 ARM: OMAP: fix OMAP1 mpuio suspend/resume oops Fix oops in omap16xx mpuio suspend/resume code; field wasn't initialized Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 11a78b7944963a8b052be46108d07a3ced9e2762 Author: David Brownell Date: Wed Dec 6 17:14:11 2006 -0800 ARM: OMAP: MPUIO wake updates GPIO and MPUIO wake updates: - Hook MPUIOs into the irq wakeup framework too. This uses a platform device to update irq enables during system sleep states, instead of a sys_device, since the latter is no longer needed for such things. - Also forward enable/disable irq wake requests to the relevant GPIO controller, so the top level IRQ dispatcher can (eventually) handle these wakeup events automatically if more than one GPIO pin needs to be a wakeup event source. - Minor tweak to the 24xx non-wakeup gpio stuff: no need to check such read-only data under the spinlock. This assumes (maybe wrongly?) that only 16xx can do GPIO wakeup; without a 15xx I can't test such stuff. Also this expects the top level IRQ dispatcher to properly handle requests to enable/disable irq wake, which is currently known to be wrong: omap1 saves the flags but ignores them, omap2 doesn't even save it. (Wakeup events are, wrongly, hardwired in the relevant mach-omapX/pm.c file ...) So MPUIO irqs won't yet trigger system wakeup. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 58781016c3637caf314ca7f579ce0acd1b0378dc Author: David Brownell Date: Wed Dec 6 17:14:10 2006 -0800 ARM: OMAP: speed up gpio irq handling Speedup and shrink GPIO irq handling code, by using a pointer that's available in the irq_chip structure instead of calling the get_gpio_bank() function. On OMAP1 this saves 44 words, most of which were in IRQ critical path methods. Hey, every few instructions help. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 56a2564185db752d83bbc78be9b1e257bf103444 Author: Syed Mohammed Khasim Date: Wed Dec 6 17:14:08 2006 -0800 ARM: OMAP: plat-omap changes for 2430 SDP This patch adds minimal OMAP2430 support to plat-omap files to get the kernel booting on 2430SDP. Signed-off-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit e5c56ed3c9caa6ba717af0a5c23e2c7bf5c97a1f Author: David Brownell Date: Wed Dec 6 17:13:59 2006 -0800 ARM: OMAP: gpio object shrinkage, cleanup More GPIO/IRQ cleanup: - compile-time removal of much useless code * mpuio support on non-OMAP1. * 15xx/730/24xx gpio support on 1610 * 15xx/730/16xx gpio support on 24xx * etc - remove all BUG() calls, which are always bad news ... replaced some with normal fault reports for that call, others with WARN_ON(1). - small mpuio bugfix: add missing set_type() method Oh, and fix a minor merge issue: inode->u.generic_ip is now gone. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit b9772a220a0d1b1d83b770ed131fa8b090af3681 Author: David Brownell Date: Wed Dec 6 17:13:53 2006 -0800 ARM: OMAP: /sys/kernel/debug/omap_gpio Add some GPIO debug support: /sys/kernel/debug/omap_gpio dumps the state of all GPIOs that have been claimed, including basic IRQ info if relevant. Tested on 24xx, 16xx. Includes minor bugfixes: recording IRQ trigger mode (this should probably be a genirq patch), adding missing space to non-wakeup warning Signed-off-by: David Brownell Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 3ac4fa99291a60329e9c9424ac3e67bb4f9564f5 Author: Juha Yrjola Date: Wed Dec 6 17:13:52 2006 -0800 ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon Some GPIOs on OMAP2420 do not have wakeup capabilities. If these GPIOs are configured as IRQ sources, spurious interrupts will be generated each time the core domain enters retention. Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 14f1c3bf51b78d916a6aff9c9b5e6689e3e006e7 Author: Juha Yrjola Date: Wed Dec 6 17:13:48 2006 -0800 ARM: OMAP: Enable 24xx GPIO autoidling Enable 24xx GPIO autoidling Signed-off-by: Juha Yrjola Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 28bd3a0dcce11bea6f99a351cc64053dff00196e Author: Michael-Luke Jones Date: Sat Apr 28 08:31:40 2007 +0100 [ARM] 4318/2: DSM-G600 Board Support This patch adds support for the D-Link DSM-G600 Rev A. This is an ARM XScale IXP4xx system relatively similar to the NSLU2 and NAS-100D already supported by mainline. An important difference is Gigabit Ethernet support using the Via Velocity chipset. This patch is the combined work of Michael Westerhof and Alessandro Zummo, with contributions from Michael-Luke Jones. This version addresses review comments from rmk and Deepak Saxena. Signed-off-by: Michael-Luke Jones Signed-off-by: Alessandro Zummo Signed-off-by: Michael Westerhof Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 62ea6d80211ecc88ef516927ecebf64cb505be3f Merge: fa24aa5... d3af5ab... Author: Linus Torvalds Date: Fri May 4 21:44:34 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: (46 commits) mmc-omap: Clean up omap set_ios and make MMC_POWER_ON work mmc-omap: Fix omap to use MMC_POWER_ON mmc-omap: add missing '\n' mmc: make tifm_sd_set_dma_data() static mmc: remove old card states mmc: support unsafe resume of cards mmc: separate out reading EXT_CSD mmc: break apart switch function MMC: Fix handling of low-voltage cards MMC: Consolidate voltage definitions mmc: add bus handler wbsd: check for data opcode earlier mmc: Separate out protocol ops mmc: Move core functions to subdir mmc: deprecate mmc bus topology mmc: remove card upon suspend mmc: allow suspended block driver to be removed mmc: Flush pending detects on host removal mmc: Move host and card drivers to subdirs mmc: Move queue functions to mmc_block ... commit fa24aa561a3cf91cf25b5d4066470b08a2d24206 Merge: 6cbf0c7... 9315f13... Author: Linus Torvalds Date: Fri May 4 20:44:54 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: ocfs2: Force use of GFP_NOFS in ocfs2_write() ocfs2: fix sparse warnings in fs/ocfs2/cluster ocfs2: fix sparse warnings in fs/ocfs2/dlm ocfs2: fix sparse warnings in fs/ocfs2 [PATCH] Copy i_flags to ocfs2 inode flags on write [PATCH] ocfs2: use __set_current_state() ocfs2: Wrap access of directory allocations with ip_alloc_sem. [PATCH] fs/ocfs2/: make 3 functions static ocfs2: Implement compat_ioctl() commit 6cbf0c704d7c3bb215ae7e0381b1ff2ad5931f35 Author: Linus Torvalds Date: Fri May 4 20:44:23 2007 -0700 iomap: make the default iomap functions fail softer We used to BUG_ON() for a badly mapped IO port, which is certainly correct, but actually made it harder to debug the case where the ATA drivers had incorrectly mapped a nonconnected ATA port. So make badly mapped ports trigger a WARN_ON(), and throw the IO away instead (and return all ones for reads). For things like broken driver initialization - which is the most likely cause anyway - that should mean that the machine comes up and is usable (at least that was the case for the ATA breakage that triggered this patch). It tends to be a whole lot easier to do a "dmesg" on a working machine than to try to capture logs off a dead one. Signed-off-by: Linus Torvalds commit 8426c39c1289765a11fc9b9523212ed368ceebd8 Author: Jeff Layton Date: Sat May 5 03:27:49 2007 +0000 [CIFS] Make sec=none force an anonymous mount We had a customer report that attempting to make CIFS mount with a null username (i.e. doing an anonymous mount) doesn't work. Looking through the code, it looks like CIFS expects a NULL username from userspace in order to trigger an anonymous mount. The mount.cifs code doesn't seem to ever pass a null username to the kernel, however. It looks also like the kernel can take a sec=none option, but it only seems to look at it if the username is already NULL. This seems redundant and effectively makes sec=none useless. The following patch makes sec=none force an anonymous mount. Signed-off-by: Steve French commit 4d4700707c0d4be0efc968989fb1cd01c60c0a35 Merge: 7e20ef0... 84dde76... Author: Linus Torvalds Date: Fri May 4 19:55:11 2007 -0700 Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 * git://git.linux-nfs.org/pub/linux/nfs-2.6: (28 commits) NFS: Fix a compile glitch on 64-bit systems NFS: Clean up nfs_create_request comments spkm3: initialize hash spkm3: remove bad kfree, unnecessary export spkm3: fix spkm3's use of hmac NFS4: invalidate cached acl on setacl NFS: Fix directory caching problem - with test case and patch. NFS: Set meaningful value for fattr->time_start in readdirplus results. NFS: Added support to turn off the NFSv3 READDIRPLUS RPC. SUNRPC: RPC client should retry with different versions of rpcbind SUNRPC: remove old portmapper NFS: switch NFSROOT to use new rpcbind client SUNRPC: switch the RPC server to use the new rpcbind registration API SUNRPC: switch socket-based RPC transports to use rpcbind SUNRPC: introduce rpcbind: replacement for in-kernel portmapper SUNRPC: Eliminate side effects from rpc_malloc SUNRPC: RPC buffer size estimates are too large NLM: Shrink the maximum request size of NLM4 requests NFS: Use pgoff_t in structures and functions that pass page cache offsets NFS: Clean up nfs_sync_mapping_wait() ... commit 7e20ef030dde0e52dd5a57220ee82fa9facbea4e Merge: a3d5213... 07d9396... Author: Linus Torvalds Date: Fri May 4 19:36:58 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (49 commits) [SCTP]: Set assoc_id correctly during INIT collision. [SCTP]: Re-order SCTP initializations to avoid race with sctp_rcv() [SCTP]: Fix the SO_REUSEADDR handling to be similar to TCP. [SCTP]: Verify all destination ports in sctp_connectx. [XFRM] SPD info TLV aggregation [XFRM] SAD info TLV aggregationx [AF_RXRPC]: Sort out MTU handling. [AF_IUCV/IUCV] : Add missing section annotations [AF_IUCV]: Implementation of a skb backlog queue [NETLINK]: Remove bogus BUG_ON [IPV6]: Some cleanups in include/net/ipv6.h [TCP]: zero out rx_opt in tcp_disconnect() [BNX2]: Fix TSO problem with small MSS. [NET]: Rework dev_base via list_head (v3) [TCP] Highspeed: Limited slow-start is nowadays in tcp_slow_start [BNX2]: Update version and reldate. [BNX2]: Print bus information for PCIE devices. [BNX2]: Add 1-shot MSI handler for 5709. [BNX2]: Restructure PHY event handling. [BNX2]: Add indirect spinlock. ... commit a3d52136ee8f7399859f9a0824470fd49b1d1a00 Merge: 5b33991... 84767d0... Author: Linus Torvalds Date: Fri May 4 18:13:17 2007 -0700 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (65 commits) Input: gpio_keys - add support for switches (EV_SW) Input: cobalt_btns - convert to use polldev library Input: add skeleton for simple polled devices Input: update some documentation Input: wistron - fix typo in keymap for Acer TM610 Input: add input_set_capability() helper Input: i8042 - add Fujitsu touchscreen/touchpad PNP IDs Input: i8042 - add Panasonic CF-29 to nomux list Input: lifebook - split into 2 devices Input: lifebook - add signature of Panasonic CF-29 Input: lifebook - activate 6-byte protocol on select models Input: lifebook - work properly on Panasonic CF-18 Input: cobalt buttons - separate device and driver registration Input: ati_remote - make button repeat sensitivity configurable Input: pxa27x - do not use deprecated SA_INTERRUPT flag Input: ucb1400 - make delays configurable Input: misc devices - switch to using input_dev->dev.parent Input: joysticks - switch to using input_dev->dev.parent Input: touchscreens - switch to using input_dev->dev.parent Input: mice - switch to using input_dev->dev.parent ... Fixed up conflicts with core device model removal of "struct subsystem" manually. Signed-off-by: Linus Torvalds commit 5b339915762d30b21995aa7263e74081f2f1110a Merge: 89661ad... 823bccf... Author: Linus Torvalds Date: Fri May 4 18:04:48 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: remove "struct subsystem" as it is no longer needed sysfs: printk format warning DOC: Fix wrong identifier name in Documentation/driver-model/devres.txt platform: reorder platform_device_del Driver core: fix show_uevent from taking up way too much stack commit 89661adaaee2f85116b399e642129ccd4dafd195 Merge: 6adae5d... 9890b12... Author: Linus Torvalds Date: Fri May 4 18:04:29 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: (59 commits) PCI: Free resource files in error path of pci_create_sysfs_dev_files() pci-quirks: disable MSI on RS400-200 and RS480 PCI hotplug: Use menuconfig objects PCI: ZT5550 CPCI Hotplug driver fix PCI: rpaphp: Remove semaphores PCI: rpaphp: Ensure more pcibios_add/pcibios_remove symmetry PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically PCI: rpaphp: Document is_php_dn() PCI: rpaphp: Document find_php_slot() PCI: rpaphp: Rename rpaphp_register_pci_slot() to rpaphp_enable_slot() PCI: rpaphp: refactor tail call to rpaphp_register_slot() PCI: rpaphp: remove rpaphp_set_attention_status() PCI: rpaphp: remove print_slot_pci_funcs() PCI: rpaphp: Remove setup_pci_slot() PCI: rpaphp: remove a call that does nothing but a pointer lookup PCI: rpaphp: Remove another wrappered function PCI: rpaphp: Remve another call that is a wrapper PCI: rpaphp: remove a function that does nothing but wrap debug printks PCI: rpaphp: Remove un-needed goto PCI: rpaphp: Fix a memleak; slot->location string was never freed ... commit 6adae5d9e69743aede91b274224751811f7174f1 Merge: 253f04e... f6259de... Author: Linus Torvalds Date: Fri May 4 18:01:17 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] padlock: Remove pointless padlock module [CRYPTO] api: Add ablkcipher_request_set_tfm [CRYPTO] cryptd: Add software async crypto daemon [CRYPTO] api: Do not remove users unless new algorithm matches [CRYPTO] cryptomgr: Fix parsing of nested templates [CRYPTO] api: Add async blkcipher type [CRYPTO] templates: Pass type/mask when creating instances [CRYPTO] tcrypt: Use async blkcipher interface [CRYPTO] api: Add async block cipher interface [CRYPTO] api: Proc functions should be marked as unused commit 253f04e78ded827c30f9582489773ebe2adc8924 Author: Geert Uytterhoeven Date: Wed May 2 14:48:38 2007 +0200 ps3av: Use __func__ instead of __FUNCTION__ ps3av: Replace GNU extension `__FUNCTION__' by C99 `__func__' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit d778c9a400e569029c8a48bc898c70780d6d2c1c Author: Geert Uytterhoeven Date: Wed May 2 14:48:37 2007 +0200 ps3fb: Use __func__ instead of __FUNCTION__ ps3fb: Replace GNU extension `__FUNCTION__' by C99 `__func__' Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 640729014e073e6e2de1f513b2856b81aa7d84e9 Author: Masashi Kimoto Date: Wed May 2 14:48:36 2007 +0200 ps3: Make `ps3videomode -v 0 (auto mode) work again ps3: Make `ps3videomode -v 0' (auto mode) work again Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit fffe52e86b4ad5f8bdcb284c4ea6c87402967f3d Author: Geert Uytterhoeven Date: Wed May 2 14:48:35 2007 +0200 ps3av: misc updates ps3av: - Move the definition of struct ps3av to ps3av.c, as it's locally used only. - Kill ps3av.sem, use the existing ps3av.mutex instead. - Make the 512-byte buffer in ps3av_do_pkt() static to reduce stack usage. Its use is protected by a semaphore anyway. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit bd685ac8e78b9bfd4a0145be22a7ff11ab11adef Author: Geert Uytterhoeven Date: Wed May 2 14:48:34 2007 +0200 ps3fb: kill superfluous zero initializations ps3fb: kill superfluous zero initializations Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 5caf5db887b2bc87d74a78674d8e3e4774fa2a14 Author: Geert Uytterhoeven Date: Wed May 2 14:48:33 2007 +0200 ps3av: thread updates ps3av: Replace the kernel_thread and the ping pong semaphores by a singlethread workqueue and a completion. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit eca28743b74736456bd75e0dabeb7d2df09fc03e Author: Geert Uytterhoeven Date: Wed May 2 14:48:32 2007 +0200 ps3fb: atomic fixes ps3fb: Use atomic_dec_if_positive() instead of bogus atomic_read()/atomic_dec() combinations Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 1c0c8461191d6d74926397abe2aa5f7cc9fd5a67 Author: Geert Uytterhoeven Date: Wed May 2 14:48:31 2007 +0200 ps3fb: thread updates ps3fb: Replace the kernel_thread and the semaphore by a proper kthread, which is simply woken up when the screen must be updated Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 254f9c5cd2d3b41e64f59df816630f7ca5548a8a Author: Geert Uytterhoeven Date: Tue May 1 22:33:07 2007 +0200 Convert non-highmem kmap_atomic() to static inline function Convert kmap_atomic() in the non-highmem case from a macro to a static inline function, for better type-checking and the ability to pass void pointers instead of struct page pointers. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit f5456e040eaac7eb9545d49c38984af2047699be Author: Geert Uytterhoeven Date: Tue May 1 22:33:06 2007 +0200 m68k: export csum_partial_copy_from_user net/rxrpc/af-rxrpc.ko needs csum_partial_copy_from_user Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit cfa08bb5ba6df4a76a67b7ddb9b2b549eda2458b Author: Geert Uytterhoeven Date: Tue May 1 22:33:05 2007 +0200 m68k: kill skb_copy_from_linear_data compiler warnings The recent conversion from `memcpy' to `skb_copy_from_linear_data' removed a few casts, which were needed to silence compiler warnings. Re-add them. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 318175766e7688ba52cdf771d37e98a1e4759f98 Author: Geert Uytterhoeven Date: Tue May 1 22:33:04 2007 +0200 Amiga Zorro bus: kill resource_size_t warnings Kill resource_size_t warnings by casting resource_size_t to unsigned long when formatting Zorro bus resources, as they are always 32-bit. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit f4d86754f956ab5ea73aa91759a0d89a2f0e3f2a Author: Finn Thain Date: Wed May 2 12:55:56 2007 +1000 SONIC interrupt handling Install the built-in macsonic interrupt handler on both IRQs when using via_alt_mapping. Otherwise the rare interrupt that still comes from the nubus slot will wedge the nubus. $ cat /proc/interrupts auto 2: 89176 via2 auto 3: 744367 sonic auto 4: 0 scc auto 6: 318363 via1 auto 7: 0 NMI mac 9: 119413 framebuffer vbl mac 10: 1971 ADB mac 14: 198517 timer mac 17: 89104 nubus mac 19: 72 Mac ESP SCSI mac 56: 629 sonic mac 62: 1142593 ide0 Version 1 of this patch had a bug where a nubus sonic card would register two interrupt handlers. Only a built-in sonic needs both. Versions 2 and 3 needed some cleanups, as Raylynn Knight and Christoph Hellwig pointed out (thanks). Signed-off-by: Finn Thain Signed-off-by: Linus Torvalds commit d74472f0b2553e59eafb7feee0ff9558136a17e0 Author: Finn Thain Date: Tue May 1 22:33:02 2007 +0200 SONIC: small fix and cleanup Fix a potential problem in the timeout handling: don't free the DMA buffers before resetting the chip. Also a trivial cleanup. Bring macsonic and jazzsonic into sync. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8b6aaab8c8bdbe011aac79af218dd1e657984bab Author: Finn Thain Date: Tue May 1 22:33:01 2007 +0200 m68k: macmace fixes Fix a race condition in the transmit code, where the dma interrupt could update the free tx buffer count concurrently and wedge the tx queue. Fix the misuse of the rx frame status and rx frame length registers: no more "fifo overrun" errors caused by the OFLOW bit being tested in the frame length register (instead of the status register), and no more missed packets due to incorrect length taken from status register (instead of the frame length register). Fix a panic (skb_over_panic BUG) caused by allocating and then copying an incoming packet while the packet length register was changing. Cut-and-paste the reset code from the powermac mace driver (mace.c), so the NIC functions when MacOS does not initialise it (important for anyone wanting to use the Emile boot loader). Cut-and-paste the error counting and timeout recovery code from mace.c. Fix over allocation of rx buffer memory (it's page order, not page count). Converted to driver model. Converted to DMA API. Since I've run out of ways to make it fail, and since it performs well now, promote the driver from EXPERIMENTAL status. Tested on both quadra 840av and 660av. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 0251c38ce503de01f5bc07917a824021b86b4ada Author: Finn Thain Date: Tue May 1 22:33:00 2007 +0200 CUDA ADB fixes Fix the flakiness in the CUDA ADB driver on m68k macs (keypresses getting wedged down or ADB just going AWOL altogether). The only IRQ used by this driver is the VIA shift register IRQ. The PowerMac conditional code disables the other VIA IRQ sources, so don't mess with the other IRQ flags in the common code -- m68k macs need them. When polling, don't disable local interrupts when we only need to disable the CUDA interrupt. Unless polling, don't clear the shift register IRQ flag. On m68k macs this creates a race that often breaks CUDA ADB. Tested on Quadra 840av and LC630 (both m68k); also Beige G3 (powerpc). Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit d95fd5fce88f05fd36004f2a0c317e665549e54c Author: Finn Thain Date: Tue May 1 22:32:59 2007 +0200 m68k: Mac II ADB fixes Fix a crash caused by requests placed in the queue with the completed flag already set. This lead to some ADB_SYNC requests returning early and their request structs being popped off the stack while still queued. Stack corruption ensued or an invalid request callback pointer was invoked or both. Eliminate macii_retransmit() and its buggy implementation of macii_write(). Have macii_queue_poll() fully initialise the request queues. Fix a bug in macii_queue_poll() where the last_req pointer was not being set. This caused some requests to leave the queue before being completed (and would also corrupt the stack under certain conditions). Fix a race in macii_start that could set the state machine to "reading" while current_req was null. No longer send poll commands with the ADBREQ_REPLY flag -- doing that caused the replies to be stored in the request buffer where they were forgotten about. Don't autopoll by continuously sending new Talk commands. Get the controller to do that for us. This reduces the ADB interrupt rate on an idle bus to about 5 per second. Only autopoll the devices that were probed. Explicitly clear the interrupt flag when polling. Use disable_irq rather than local_irq_save when polling. Remove excess local_irq_save/restore pairs. Improve bus timeout and service request detection. Remove unused code (last_reply, adb_dir etc) and unneeded code (prefix_len, first_byte etc). Change TIP and TACK to their correct names on this ADB controller (ST_EVEN and ST_ODD). Add some commentry. Add a generous quantity of sanity checks (BUG_ONs). Let m68k macs use the adb_sync boot param too. Tested on Mac II, Mac IIci, Quadra 650, Quadra 700 etc. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 217f6710c275118af1008bb1447d244be52d2dc3 Author: Finn Thain Date: Tue May 1 22:32:58 2007 +0200 m68k: Mac IRQ cleanup There are no slow IRQs on Macs since Roman Zippel's IRQ reorganisation that went into 2.6.16 and removed mac_irq_list[] and the do_mac_irq_list() dispatcher. (They were implemented in do_mac_irq_list() by lowering the IPL.) Hence there's no more use for mutual exclusion in the Mac interrupt dispatchers. Remove it. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit cd713ddc93bf2f612783aea8eff6d0df6107765e Author: Finn Thain Date: Tue May 1 22:32:57 2007 +0200 m68k: Mac nubus IRQ fixes (plan E) Some Macs lack a slot interrupt enable register. So the existing code makes disabled and unregistered slot IRQ lines outputs set high. This seems to work on quadras, but does not work on genuine VIAs (perhaps the card still succeeds in pulling the line low, or perhaps because this increases the settle time on the port A input, meaning that the CA1 IRQ could fire before the slot line reads active). Because of this, the nubus_active flags were used to mask IRQs, which is actually worse than the problem it tries to solve. Any interrupt masked by nubus_active will remain asserted and prevent further transitions on CA1. And so the nubus gets wedged regardless of hardware (emulated VIA ASIC, real VIA chip or RBV). The best solution to this hardware limitation of genuine VIAs is to disable the umbrella SLOTS IRQ when disabling a slot on those machines. Unfortunately, this means all slot IRQs get disabled when any slot IRQ is disabled. But it is only a problem when there's more than 1 device using nubus interrupts. Another potential problem for genuine VIAs is an unregistered nubus IRQ. Eventually it will be possible to enable the CA1 interrupt by installing its handler only _after_ all nubus drivers have loaded but _before_ the kernel needs them, at which time this last problem can be fixed. For now it can be worked around: - disable MacOS extensions - don't boot MacOS (use the Emile bootloader instead) - get the bootloaders to disable ROM drivers (Penguin does this for video cards already, don't know about Emile) - physically remove unsupported cards Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 67dfb153a352e57e71404d550be7eb60d15d7f2d Author: Finn Thain Date: Tue May 1 22:32:56 2007 +0200 m68k: Mac IRQ prep Make sure that there are no slot IRQs asserted before leaving the nubus handler. If there are and we don't then the nubus gets wedged because this prevents a CA1 transition, which means no more nubus IRQs. Make the interrupt dispatch loops terminate sooner. Explicitly initialise the VIA latches to make the code more easily understood. Also some cleanups. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 647b804c8237aa35e19caf8e11ea8d5565107b0e Author: Finn Thain Date: Tue May 1 22:32:55 2007 +0200 m68k: reverse Mac IRQ damage Reverse the last of a monumental brown-paper-bag commit that went into the 2.3 kernel. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 2964db0f590437b7efb7858bd2330134ac5292df Author: Finn Thain Date: Tue May 1 22:32:54 2007 +0200 m68k: Mac DP8390 update Fix the support for C/NET nubus ethernet cards etc. Sync up the DP8390 driver with the latest code in the mac68k repo. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit f877958879d413c37bfbeb7517614f3625cdea38 Author: Finn Thain Date: Tue May 1 22:32:53 2007 +0200 NuBus header update Sync the nubus defines with the latest code in the mac68k repo. Some of these are needed for DP8390 driver update in the next patch. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit e10e5c4325b37e1a7dce9cd3d2cbcd8dd9536a7a Author: Finn Thain Date: Tue May 1 22:32:52 2007 +0200 m68k: Mac interrupt priorities Add some more machines that support A/UX interrupt priorities. There are probably others as well, but I've only tested these ones so far. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit df7e7d6a8973dee3ea8bcc849ce5c8bb94210edc Author: Finn Thain Date: Tue May 1 22:32:51 2007 +0200 m68k: remove unused adb.h The asm-m68k/adb.h header is unused. Some definitions are wrong and the rest are duplicated in linux/adb.h. Remove it. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3f5d987e62412ce6540b97b622b03ca9c1677eee Author: Geert Uytterhoeven Date: Tue May 1 22:32:50 2007 +0200 m68k: Amiga A2065 and Ariadne TX statistics Add missing code to the Amiga A2065 and Ariadne drivers to update net_device_stats.tx_bytes. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit bff832cda7bd1a861fd43813c3037119e50e7d93 Author: Finn Thain Date: Tue May 1 22:32:49 2007 +0200 m68k: pmu_queue_request() declaration conflict Fixes a "static qualifier follows non-static qualifier" error from gcc 4. Signed-off-by: Finn Thain Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit b312b38c7411d4a2fff3fcdff13556b090f80f25 Author: Geert Uytterhoeven Date: Tue May 1 22:32:48 2007 +0200 m68k: Atari SCSI workqueue updates Workqueue updates for the Atari SCSI driver Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 35bdd52d7401b1208552523d6fa28d4a37dbc74d Author: Sam Creasey Date: Tue May 1 22:32:47 2007 +0200 m68k: Correct number of interrupts for Sun3 Only attempt to initialize the amount of interrupts a sun3 actually has... Signed-off-by: Sam Creasey Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit d6713b4091a99fa2af2fabdcd2f3fb97f32ecf2e Author: Roman Zippel Date: Tue May 1 22:32:45 2007 +0200 m68k: early parameter support Add early parameter support and convert current users to it. Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit f8744bc95dac461cef40df7143756d1bfa393991 Author: Geert Uytterhoeven Date: Tue May 1 22:32:44 2007 +0200 hilkbd: Kill compiler warning and fix comment dyslexia hilkbd: Kill compiler warning and fix comment dyslexia Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 6ff5801acbb643e81d3420ac0f37c96089309063 Author: Roman Zippel Date: Tue May 1 22:32:43 2007 +0200 m68k: reformat various m68k files Reformat various m68k files, so they actually look like Linux sources. Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit b3e2fd9cebcf4e82d0306fe7e796eeca5aac0614 Author: Roman Zippel Date: Tue May 1 22:32:42 2007 +0200 lockdep: Add missing disable/enable irq variant Add missing disable/enable irq variant Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 39ad2cb352729a8b57803737905caae1e1d1942a Author: Matthias Urlichs Date: Tue May 1 22:32:41 2007 +0200 m68k: Mac89x0 Ethernet netif updates Macintosh CS89x0 Ethernet: Netif updates Addition of netif_stop_queue() before transmission by Michael Schmitz skb_copy_{from,to}_linear_data() conversion by Geert Uytterhoeven Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit ec0203e75360638237299b78a7b0d343301075b3 Author: Geert Uytterhoeven Date: Tue May 1 22:32:40 2007 +0200 m68k: CROSS_COMPILE = m68k-linux-gnu- Recent cross-compilers are called m68k-linux-gnu-gcc instead of m68k-linux-gcc Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a100501212f2e26bb6d70bfb5c55eefd90e22b65 Author: Michael Schmitz Date: Tue May 1 22:32:39 2007 +0200 m68k: Atari fb revival Update the atari fb to 2.6 by Michael Schmitz, Reformatting and rewrite of bit plane functions by Roman Zippel, A few more fixes by Geert Uytterhoeven. Signed-off-by: Michael Schmitz Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit c04cb856e20a8bf68762d60737b84328c1ab5900 Author: Michael Schmitz Date: Tue May 1 22:32:38 2007 +0200 m68k: Atari keyboard and mouse support. Atari keyboard and mouse support. (reformating and Kconfig fixes by Roman Zippel) Signed-off-by: Michael Schmitz Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3130d905ba86d5f2636b2f45d5beefe82cb03df6 Author: Roman Zippel Date: Tue May 1 22:32:37 2007 +0200 m68k: Atari SCSI driver compile fixes Atari SCSI driver compile fixes Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit c28bda25175913c88396b643813321ef9cffe663 Author: Roman Zippel Date: Tue May 1 22:32:36 2007 +0200 m68k: Reformat the Atari SCSI driver Reformat the Atari SCSI driver Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit fb810d121bceb945c5e576356bccba11cbfad7e3 Author: Michael Schmitz Date: Tue May 1 22:32:35 2007 +0200 m68k: Atari SCSI revival SCSI should be working on a TT (but someone should really try!) but causes trouble on a Falcon (as in: it ate a filesystem of mine) at least when used concurrently with IDE. I have the notion it's because locking of the ST-DMA interrupt by IDE is broken in 2.6 (the IDE driver always complains about trying to release an already-released ST-DMA). Needs more work, but that's on the IDE or m68k interrupt side rather than SCSI. Signed-off-by: Michael Schmitz Signed-off-by: Roman Zippel Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8d41f0e8d51742aba5bbcab9acb5238a8578c917 Merge: 8bc8493... 5b68790... Author: Linus Torvalds Date: Fri May 4 17:46:27 2007 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (44 commits) i2c-s3c2410: Fix bug in releasing driver i2c-s3c2410: Fix I2C SDA to SCL setup time i2c: New i2c-tiny-usb bus driver i2c: Documentation update i2c: SPIN_LOCK_UNLOCKED cleanup i2c: Obsolete i2c-ixp2000, i2c-ixp4xx and scx200_i2c i2c: New Simtec I2C bus driver i2c: Bitbanging I2C bus driver using the GPIO API Use menuconfig objects - I2C i2c: Restore i2c_smbus_read_block_data i2c-pxa: Clean transaction stop i2c-algo-bit: Improve debugging i2c-algo-bit: Implement a 50/50 SCL duty cycle i2c-omap: Switch to static adapter numbering i2c: Blackfin Two Wire Interface driver i2c-algo-sgi: Comment and whitespace cleanups i2c: Make i2c_del_driver a void function i2c: Move i2c-isa-only exported symbol declarations i2c: Document i2c_new_device() i2c: Add i2c_new_probed_device() ... Fixed trivial conflict in Documentation/feature-removal-schedule.txt manually. Signed-off-by: Linus Torvalds commit 8bc8493063f938c932819958a7b5a0d56046bc96 Author: Stuart MacDonald Date: Fri May 4 16:00:03 2007 -0400 MAINTAINER change for Connect Tech Inc I am no longer with CTI. The Support Department will handle all inquiries regarding the WH. Signed-off-by: Stuart MacDonald Signed-off-by: Linus Torvalds commit ded1504dfa0083661fdd1a0a5f021cb7313ffe04 Merge: 98b9617... 2e49762... Author: Linus Torvalds Date: Fri May 4 17:38:48 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Report the number of processors in PowerNow-k8 correctly [CPUFREQ] do not declare undefined functions [CPUFREQ] cleanup kconfig options [CPUFREQ] Longhaul - Revert Longhaul ver. 2 [CPUFREQ] Remove deprecated /proc/acpi/processor/performance write support [CPUFREQ] Fix limited cpufreq when booted on battery Fix preemption warnings in speedstep-centrino.c [CPUFREQ] Longhaul - Correct PCI code [CPUFREQ] p4-clockmod: switch to rdmsr_on_cpu/wrmsr_on_cpu commit 98b96173c777c67daaa7d163a35e591e1928a164 Merge: cf8ba7a... 881ba59... Author: Linus Torvalds Date: Fri May 4 17:38:16 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart * master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart: [AGPGART] sworks-agp: Switch to PCI ref counting APIs [AGPGART] Nvidia AGP: Use refcount aware PCI interfaces [AGPGART] Fix sparse warning in sgi-agp.c [AGPGART] Intel-agp adjustments [AGPGART] Move [un]map_page_into_agp into asm/agp.h [AGPGART] Add missing calls to global_flush_tlb() to ali-agp [AGPGART] prevent probe collision of sis-agp and amd64_agp commit 07d939677166cc4f000c767196872a9becc2697b Author: Vlad Yasevich Date: Fri May 4 13:55:27 2007 -0700 [SCTP]: Set assoc_id correctly during INIT collision. During the INIT/COOKIE-ACK collision cases, it's possible to get into a situation where the association id is not yet set at the time of the user event generation. As a result, user events have an association id set to 0 which will confuse applications. This happens if we hit case B of duplicate cookie processing. In the particular example found and provided by Oscar Isaula , flow looks like this: A B ---- INIT-------> (lost) <---------INIT------ ---- INIT-ACK---> <------ Cookie ECHO When the Cookie Echo is received, we end up trying to update the association that was created on A as a result of the (lost) INIT, but that association doesn't have the ID set yet. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 827bf12236fbafc02bc899aec1b37c342c8cf4e5 Author: Sridhar Samudrala Date: Fri May 4 13:36:30 2007 -0700 [SCTP]: Re-order SCTP initializations to avoid race with sctp_rcv() Signed-off-by: Sridhar Samudrala Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit ce5325c1338acf965f4300f4976eac2129aeb439 Author: Vlad Yasevich Date: Fri May 4 13:34:49 2007 -0700 [SCTP]: Fix the SO_REUSEADDR handling to be similar to TCP. Update the SO_REUSEADDR handling to also check for listen state. This was muliple listening server sockets can't be created and they will not steal packets from each other. Reported by Paolo Galtieri Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 16d00fb7765a43a1b05989062e985d283b3a1f2d Author: Vlad Yasevich Date: Fri May 4 13:34:09 2007 -0700 [SCTP]: Verify all destination ports in sctp_connectx. We need to make sure that all destination ports are the same, since the association really must not connect to multiple different ports at once. This was reported on the sctp-impl list. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 5a6d34162f5c6f522f857df274f1c8240f161e11 Author: Jamal Hadi Salim Date: Fri May 4 12:55:39 2007 -0700 [XFRM] SPD info TLV aggregation Aggregate the SPD info TLVs. Signed-off-by: Jamal Hadi Salim Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit af11e31609d93765c1b22611592543e028f7aa54 Author: Jamal Hadi Salim Date: Fri May 4 12:55:13 2007 -0700 [XFRM] SAD info TLV aggregationx Aggregate the SAD info TLVs. Signed-off-by: Jamal Hadi Salim Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 224711df5c00f7540b89f32a8225866031977f17 Author: David Howells Date: Fri May 4 12:41:11 2007 -0700 [AF_RXRPC]: Sort out MTU handling. Sort out the MTU determination and handling in AF_RXRPC: (1) If it's present, parse the additional information supplied by the peer at the end of the ACK packet (struct ackinfo) to determine the MTU sizes that peer is willing to support. (2) Initialise the MTU size to that peer from the kernel's routing records. (3) Send ACKs rather than ACKALLs as the former carry the additional info, and the latter do not. (4) Declare the interface MTU size in outgoing ACKs as a maximum amount of data that can be stuffed into an RxRPC packet without it having to be fragmented to come in this computer's NIC. (5) If sendmsg() is given MSG_MORE then it should allocate an skb of the maximum size rather than one just big enough for the data it's got left to process on the theory that there is more data to come that it can append to that packet. This means, for example, that if AFS does a large StoreData op, all the packets barring the last will be filled to the maximum unfragmented size. Signed-off-by: David Howells Signed-off-by: David S. Miller commit da99f0565477899f08b76ffcb32afbf6fa95d64a Author: Heiko Carstens Date: Fri May 4 12:23:27 2007 -0700 [AF_IUCV/IUCV] : Add missing section annotations Add missing section annotations and found and fixed some Coding Style issues. Signed-off-by: Heiko Carstens Signed-off-by: Frank Pavlic commit 561e036006dc4078446815613781c6c33441dd3b Author: Jennifer Hunt Date: Fri May 4 12:22:07 2007 -0700 [AF_IUCV]: Implementation of a skb backlog queue With the inital implementation we missed to implement a skb backlog queue . The result is that socket receive processing tossed packets. Since AF_IUCV connections are working synchronously it leads to connection hangs. Problems with read, close and select also occured. Using a skb backlog queue is fixing all of these problems . Signed-off-by: Jennifer Hunt Signed-off-by: Frank Pavlic Signed-off-by: David S. Miller commit 9e71efcd6d659afb9d390eea69b558a7432ba23e Author: Patrick McHardy Date: Fri May 4 12:15:11 2007 -0700 [NETLINK]: Remove bogus BUG_ON Remove bogus BUG_ON(mutex_is_locked(nlk_sk(sk)->cb_mutex)), when the netlink_kernel_create caller specifies an external mutex it might validly be locked. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 84dde76c4a2d99ed2d7de6ec82c53b56620900a3 Author: Trond Myklebust Date: Fri May 4 14:44:06 2007 -0400 NFS: Fix a compile glitch on 64-bit systems fs/nfs/pagelist.c:226: error: conflicting types for 'nfs_pageio_init' include/linux/nfs_page.h:80: error: previous declaration of 'nfs_pageio_init' was here Thanks to Andrew for spotting this... Signed-off-by: Trond Myklebust commit cf8ba7a95511b86608acb481ad96219fe2da4b3a Author: Martin Schwidefsky Date: Fri May 4 18:48:28 2007 +0200 [S390] add hardware capability support (ELF_HWCAP). Signed-off-by: Martin Schwidefsky commit e29630627702571eb2b2a0955605b7f8971c82c1 Author: Michael Holzheu Date: Fri May 4 18:47:53 2007 +0200 [S390] tape: New read configuration data. Instead of the deprecated read_conf_data(), implement a new function tape_3590_read_dev_chars(). Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 6c82a8af923b25c2a9a41b7d4ba0bb2806ecc3dc Author: Cornelia Huck Date: Fri May 4 18:47:52 2007 +0200 [S390] qeth: New read configuration data. Instead of the deprecated read_conf_data(), implement a new function qeth_read_conf_data(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 17283b56eceb6b7d9cc48dc74759a2450699c22a Author: Cornelia Huck Date: Fri May 4 18:47:51 2007 +0200 [S390] dasd: New read device characteristics and read configuration data. Instead of the deprecated read_dev_chars() and read_conf_data_lpm(), implement dasd_generic_read_dev_chars() and dasd_eckd_read_conf_lpm(). These should even recover better from error than the original cio functions. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 52706ec903dcc7679acf5b93400d68fbc5384553 Author: Cornelia Huck Date: Fri May 4 18:47:50 2007 +0200 [S390] cio: Deprecate read_dev_chars() and read_conf_data{,_lpm}(). These helper functions are a leftover from 2.4 sync I/O and are a notorious source for bugs. They lead to device driver specific code creeping into cio, and some issues can't really be fixed at all. Device drivers can easily implement those functions themselves in a more robust manner, so let's get rid of them. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 00c0c6466c66bdf05f2a3dcf59e6895179ea8b76 Author: Ursula Braun Date: Fri May 4 18:47:49 2007 +0200 [S390] qdio: make qdio statistics SMP-capable Use atomic_t/atomic64_t to make qdio performance statistics smp safe. Remove temporarily calculation of "total time of inbound actions". Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit d4ee453bcfcc0ce76de8522e099868dc440cba23 Author: Martin Schwidefsky Date: Fri May 4 18:47:48 2007 +0200 [S390] Export uaccess as non-gpl symbol. Commit c1821c2e9711adc3cd298a16b7237c92a2cee78d introduced the uaccess structure that is used to select the correct set of user copy functions for the different execution modes (standard vs. noexec vs. z9 optimized user copy). The uaccess symbol is exported with EXPORT_SYMBOL_GPL. This breaks all non-gpl modules that use user copy. To make them work again change the export to EXPORT_SYMBOL. Signed-off-by: Martin Schwidefsky commit f67d1369665b2ce88227c40d9c9a6c8ba16bb866 Author: Jan Glauber Date: Fri May 4 18:47:47 2007 +0200 [S390] aes-s390 key length. Register aes-s390 algorithms with the actual supported max keylen size Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 33464e3b57834e161add62b499492cf43e35e54c Author: Christoph Hellwig Date: Fri May 4 18:47:46 2007 +0200 [S390] get rid of kprobes notifier call chain. And here's a port of the powerpc patch to get rid of the notifier chain completely to s390. It's ontop of Martins patch as that one is in mainline already. Signed-off-by: Christoph Hellwig Signed-off-by: Martin Schwidefsky commit db3459d1a71d885334831cdca6646a48f5ea0483 Author: Eric Dumazet Date: Thu May 3 17:39:04 2007 -0700 [IPV6]: Some cleanups in include/net/ipv6.h 1) struct ip6_flowlabel : moves 'users' field to avoid two 32bits holes for 64bit arches. Shrinks by 8 bytes sizeof(struct ip6_flowlabel) 2) ipv6_addr_cmp() and ipv6_addr_copy() dont need (void *) casts : Compiler might take into account natural alignement of in6_addr structs to emit better code for memcpy()/memcmp() Casts to (void *) force byte accesses. 3) ipv6_addr_prefix() optimization : Better to clear whole struct, as compiler can emit better code for memset(addr, 0, 16) (2 stores on x86_64), and avoid some conditional branches. # size vmlinux.after vmlinux.before text data bss dec hex filename 5262262 647612 557432 6467306 62aeea vmlinux.after 5262550 647612 557432 6467594 62b00a vmlinux.before thats 288 bytes saved. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b40b4f79ce789e9e28d382c85006f62be2725282 Author: Srinivas Aji Date: Thu May 3 17:32:28 2007 -0700 [TCP]: zero out rx_opt in tcp_disconnect() When the server drops its connection, NFS client reconnects using the same socket after disconnecting. If the new connection's SYN,ACK doesn't contain the TCP timestamp option and the old connection's did, tp->tcp_header_len is recomputed assuming no timestamp header but tp->rx_opt.tstamp_ok remains set. Then tcp_build_and_update_options() adds in a timestamp option past the end of the allocated TCP header, overwriting TCP data, or when the data is in skb_shinfo(skb)->frags[], overwriting skb_shinfo(skb) causing a crash soon after. (The issue was debugged from such a crash.) Similarly, wscale_ok and sack_ok also get set based on the SYN,ACK packet but not reset on disconnect, since they are zeroed out at initialization. The patch zeroes out the entire tp->rx_opt struct in tcp_disconnect() to avoid this sort of problem. Signed-off-by: Srinivas Aji Signed-off-by: David S. Miller commit fde82055c1d0e64ff660d83c705db0e1abc9d12e Author: Michael Chan Date: Thu May 3 17:23:35 2007 -0700 [BNX2]: Fix TSO problem with small MSS. Remove the check for skb->len greater than MTU when doing TSO. When the destination has a smaller MSS than the source, a TSO packet may be smaller than the MTU at the source and we still need to process it as a TSO packet. Thanks to Brian Ristuccia for reporting the problem. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7562f876cd93800f2f8c89445f2a563590b24e09 Author: Pavel Emelianov Date: Thu May 3 15:13:45 2007 -0700 [NET]: Rework dev_base via list_head (v3) Cleanup of dev_base list use, with the aim to simplify making device list per-namespace. In almost every occasion, use of dev_base variable and dev->next pointer could be easily replaced by for_each_netdev loop. A few most complicated places were converted to using first_netdev()/next_netdev(). Signed-off-by: Pavel Emelianov Acked-by: Kirill Korotaev Signed-off-by: David S. Miller commit 03fba0479600114f32d29eee74ca3eaa364606bf Author: Ilpo Järvinen Date: Thu May 3 13:28:35 2007 -0700 [TCP] Highspeed: Limited slow-start is nowadays in tcp_slow_start Reuse limited slow-start (RFC3742) included into tcp_cong instead of having another implementation in High Speed TCP. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 72fbaeb623971c321112de7fe3fa4e24e12ca59e Author: Michael Chan Date: Thu May 3 13:25:32 2007 -0700 [BNX2]: Update version and reldate. Update version to 1.5.10. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 883e51511815930154c64a2645f4df112aa066fb Author: Michael Chan Date: Thu May 3 13:25:11 2007 -0700 [BNX2]: Print bus information for PCIE devices. Fix the code to print PCI or PCIE bus information for all devices. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8e6a72c435bf8bdd738ad08a746d697abedacfc0 Author: Michael Chan Date: Thu May 3 13:24:48 2007 -0700 [BNX2]: Add 1-shot MSI handler for 5709. The 5709 supports the one-shot MSI handler similar to some of the tg3 chips. In this mode, the MSI disables itself automatically until it is re-enabled at the end of NAPI poll. Put the request_irq/free_irq logic in common procedures. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit da3e4fbed21a5d7edab10ffb77a8c04a725f9eff Author: Michael Chan Date: Thu May 3 13:24:23 2007 -0700 [BNX2]: Restructure PHY event handling. Restructure by adding bnx2_phy_event_is_set() to make code cleaner and easier to understand. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1b8227c48e164655f02aa0eff55862af2d05da51 Author: Michael Chan Date: Thu May 3 13:24:05 2007 -0700 [BNX2]: Add indirect spinlock. The indirect register access method will be used by more than one caller in BH context (NAPI poll and timer), so a spinlock is required. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 27a005b883984ef3a3cf24e7ddd78eb78902f494 Author: Michael Chan Date: Thu May 3 13:23:41 2007 -0700 [BNX2]: Add support for 5709 Serdes. Add PCI ID and code to support the 5709 Serdes PHY. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 605a9e20aaea23f31a5403e969bd4ab4d0405dab Author: Michael Chan Date: Thu May 3 13:23:13 2007 -0700 [BNX2]: Re-structure the 2.5G Serdes code. Add some common procedures to handle enabling and disabling 2.5G. Add some missing code to resolve flow control. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ca58c3af99b15f729e56dffe9b74b8b2ce157e8d Author: Michael Chan Date: Thu May 3 13:22:52 2007 -0700 [BNX2]: Put MII register offsets in the bnx2 struct. The 5709 Serdes device uses non-standard MII register offsets. This re-structuring will make it easier to support 5709 Serdes. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 4666f87a82cf74b63737a7f55a8b3b057a7b83df Author: Michael Chan Date: Thu May 3 13:22:28 2007 -0700 [BNX2]: Add ipv6 TSO and checksum for 5709. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 874bb672fdd939aec37ad3a06b50be4ff8b4feac Author: Michael Chan Date: Thu May 3 13:21:48 2007 -0700 [BNX2]: Update 5709 firmware. Add ipv6 TSO support in firmware. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 41ccf61cf09c9a042415c04ccf0dc3c198623a9a Author: Michael Chan Date: Thu May 3 13:21:13 2007 -0700 [BNX2]: Update 5708 firmware. This fixes the problem of not counting all dropped multicast packets. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 30c517b29130ddede977300235afcda1c256530b Author: Michael Chan Date: Thu May 3 13:20:40 2007 -0700 [BNX2]: Save PCI state during suspend. This is needed to save the MSI state which will be lost during suspend. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1b2f922f6869eb13dadfe1ba3f8337bd42e50a2e Author: Michael Chan Date: Thu May 3 13:20:19 2007 -0700 [BNX2]: Fix race conditions when calling register_netdev(). Hot-plug scripts can call bnx2_open() as soon as register_netdev() is called in bnx2_init_one(). We need to call pci_set_drvdata() and setup everything before calling register_netdev(). netif_carrier_off() also needs to be moved to bnx2_open() to avoid race conditions with the irq. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 40453c839fdbf86738256cae1c9c1ebe55645d4a Author: Michael Chan Date: Thu May 3 13:19:18 2007 -0700 [BNX2]: Add 40-bit DMA workaround for 5708. The internal PCIE-to-PCIX bridge of the 5708 has the same 40-bit DMA limitation as some of the tg3 chips. Set dma_mask and persistent DMA mask to 40-bit to workaround. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5bae30c96a3bd09563e484b4ac7211b4b4664679 Author: Michael Chan Date: Thu May 3 13:18:46 2007 -0700 [BNX2]: Fix register and memory test on 5709. Tweak registers and memory test range for 5709. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit dad3e452dacd3c6c637e2f7c6469556cc8ffcd94 Author: Michael Chan Date: Thu May 3 13:18:03 2007 -0700 [BNX2]: Block MII access when ifdown. The device may be in D3hot state and should not allow MII register access. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 427c2196b92697a4a8ee87959ebc16bfac024f6b Author: Michael Chan Date: Thu May 3 13:17:25 2007 -0700 [ETHTOOL]: Add 2.5G bit definitions. Add 2.5G supported and advertising bit definitions. 2.5G is supported by the bnx2 driver. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 40435792525c49cf126ba92d223e877acb5ce021 Author: Nicolas Pitre Date: Wed Feb 21 15:58:13 2007 +0100 [ARM] 4227/1: minor head.S fixups Let's surround constructs like: orr r3, r3, #(KERNEL_RAM_PADDR & 0x00f00000) between .if .endif since (KERNEL_RAM_PADDR & 0x00f00000) is 0 in 99% of all cases. Also let's mask PHYS_OFFSET with 0x00f00000 instead of 0x00e00000. Section mappings are really 1MB not 2MB and the 2MB groupping is a higher level issue already much better enforced with #if (PHYS_OFFSET & 0x001fffff) #error "PHYS_OFFSET must be at an even 2MiB boundary!" #endif at the top of the file. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ff4bfb2163e8914332267be3758eb28239460316 Author: Sascha Hauer Date: Thu Apr 26 08:26:13 2007 +0100 [ARM] 4328/1: Move i.MX UART regs to driver This patch moves the i.MX UART register descriptions from include/asm-arm/arch-imx/imx-regs.h to the serial driver itself. This helps using the driver on other architectures like mx31 Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit fe7fdb80e9e576e181b189d0fae62d35cb30fe4d Author: Sascha Hauer Date: Thu Apr 26 08:34:41 2007 +0100 [ARM] 4329/1: fix position of NETX_SYSTEM_REG This patch fixes the position of the netx reset control register Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 93afa75230f5969d559386e52819f54bb1182327 Author: Andrew Victor Date: Thu May 3 14:39:41 2007 +0100 [ARM] 4355/2: AT91: SAM9260-EK and SAM9263-EK board updates Various small changes for the Atmel AT91SAM9260-EK and AT91SAM9263-EK boards. SAM9260-EK: - Register I2C device. SAM9263-EK: - Add platform_data and register MACB device. (Patch by Nicolas Ferre) - Add platform_data and register AC97 device. (Patch by Nicolas Ferre) - Register I2C device. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 5559bca8e66f968192a5416d953c88cc3389cb22 Author: Russell King Date: Thu May 3 10:47:37 2007 +0100 [ARM] ecard: Convert card type enum to a flag 'type' in the struct expansion_card is only used to indicate whether this card is an EASI card or not. Therefore, having it as an enum is wasteful (and introduces additional noise when we come to remove the enum.) Convert it to a mere flag instead. Signed-off-by: Russell King commit c0b04d1b2c427629b2dbe066422a507ad855bf61 Author: Russell King Date: Thu May 3 10:20:47 2007 +0100 [ARM] ecard: Move private ecard junk out of asm/ecard.h Move ecard.c private junk from asm/ecard.h to a local header file. Signed-off-by: Russell King commit e6aeb47da6e02ec9807d30a368d4fc37972b022f Author: Russell King Date: Thu May 3 10:55:46 2007 +0100 [ARM] ecard: silence new warning caused by previous commit PTR_ERR()'s type is unsigned long, so formats when printing must be %ld, not %d. Signed-off-by: Russell King commit 134c99e907ef2572cdaa148c191984b95d671981 Author: Eric W. Biederman Date: Thu Apr 26 00:04:40 2007 -0700 [ARM] ecard: convert to use the kthread API This patch modifies the startup of kecardd to use kthread_run not a kernel_thread combination of kernel_thread and daemonize. Making the code slightly simpler and more maintainable. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 73b6a2be8b29b2067aa3c0f1d6433b6148d88705 Author: Russell King Date: Thu May 3 09:55:52 2007 +0100 [ARM] Add support for ICSIDE interface on RiscPC Signed-off-by: Russell King commit a17dba8df9848c548912fbe9bf4b28c5a67c5413 Author: Russell King Date: Sat Apr 21 15:55:06 2007 +0100 [ARM] Add platform support for PATA on RiscPC Add pata_platform device for RiscPC, thereby converting the primary IDE channel on the machine to PATA. Acked-by: Jeff Garzik Signed-off-by: Russell King commit 69f4f331a0f78470f0bc42ba8db8d6cdd9cae4a9 Author: Russell King Date: Mon Apr 2 13:53:15 2007 +0100 [ARM] Set coherent DMA mask for Acorn expansion cards Although expansion cards can't do bus-master DMA, subsystems want to be able to use coherent memory for DMA purposes to these cards. Therefore, set the coherent DMA mask to allow such memory to be allocated. Signed-off-by: Russell King commit 03abeac0a222060ae8f02e8359c285df0971437e Author: Andrew Victor Date: Thu May 3 12:26:24 2007 +0100 [ARM] 4357/1: AT91: Support slower serial baud-rates Allow slower serial baud-rates by switching the UART clock from MCK to MCK/8. Based on patches by Mike Wolfram and Russell King. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7c73628f24ea73479232d1b608359aa7d8d2c95d Author: Andrew Victor Date: Wed May 2 18:00:45 2007 +0100 [ARM] 4354/1: AT91: Support ADS7846 touchsceen on SAM9263-EK board Add support for the ADS7846 Touchscreen found on the Atmel AT91SAM9263-EK board. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 235227285b3e4bae616be5720e6dedb49b914e9d Author: Andrew Victor Date: Wed May 2 17:58:51 2007 +0100 [ARM] 4353/1: AT91: Support ADS7846 touchsceen on SAM9261-EK board Add support for the ADS7846 Touchscreen found on the Atmel AT91SAM9261-EK board. Original patch by Morten Larsen. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7776a94c311504f26e73060920dfb3ccf02786b7 Author: Andrew Victor Date: Wed May 2 17:46:49 2007 +0100 [ARM] 4352/1: AT91: Platform data for LCD and AC97. Define resources, platform_device and device registration functions for the LCD and AC97 controllers on the AT91SAM9263. Also update the AT91SAM9261 to use the common atmel_lcdfb driver. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e8788babe6ddb35ab041a146d6b3e18874513566 Author: Andrew Victor Date: Wed May 2 17:14:57 2007 +0100 [ARM] 4351/1: AT91: Define rest of peripheral clocks Define and register the remaining peripheral clocks for the AT91 processors. AT91SAM9261 clocks patch by Ivan Zhakov. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ce813b97e58cdfd780b8f8b4e15cd3ebfe940415 Author: Andrew Victor Date: Wed May 2 17:08:13 2007 +0100 [ARM] 4350/1: AT91: Hardware header for ADC peripheral Definitions for Analog-to-Digital Converter (ADC) found on the Atmel AT91SAM9260 processor. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 99cce8f7b10716f8fdbaca21a7f3ba000119ad3b Author: Dan Williams Date: Thu May 3 00:18:34 2007 +0100 [ARM] 4356/1: arm: fix handling of svc mode undefined instructions Now that do_undefinstr handles kernel and user mode undefined instruction exceptions it must not assume that interrupts are enabled at entry. Signed-off-by: Dan Williams Signed-off-by: Russell King commit d2dd8b1fed314d22c50965f78f6895117c4abfc8 Author: Dan Williams Date: Wed May 2 17:47:47 2007 +0100 [ARM] 4342/2: iop13xx: add resource definitions for the tpmi units The tpmi units interface with the SAS controller on iop348. Signed-off-by: Dan Williams Signed-off-by: Russell King commit e90ddd813df7897af34226ed1cd442f7a182816e Author: Dan Williams Date: Wed May 2 17:59:44 2007 +0100 [ARM] 4348/4: iop3xx: Give Linux control over PCI initialization Currently the iop3xx platform support code assumes that RedBoot is the bootloader and has already initialized the ATU. Linux should handle this initialization for three reasons: 1/ The memory map that RedBoot sets up is not optimal (page_to_dma and virt_to_phys return different addresses). The effect of this is that using the dma mapping API for the internal bus dma units generates pci bus addresses that are incorrect for the internal bus. 2/ Not all iop platforms use RedBoot 3/ If the ATU is already initialized it indicates that the iop is an add-in card in another host, it does not own the PCI bus, and should not be re-initialized. Changelog: * rather than change nr_controllers to zero, simply do not call pci_common_init Cc: Lennert Buytenhek Signed-off-by: Dan Williams Signed-off-by: Russell King commit fc38582db98533066f4ba64f948720483fbfe7b2 Author: Patrick McHardy Date: Thu May 3 03:36:16 2007 -0700 [NETFILTER]: bridge netfilter: consolidate header pushing/pulling code Consolidate the common push/pull sequences into a few helper functions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cfd6c38096d75c8b86782683c5f45c415a505b78 Author: Herbert Xu Date: Thu May 3 03:35:31 2007 -0700 [NETFILTER]: sip: Fix RTP address NAT I needed to use this recently to talk to a Cisco server. In my case I only did SNAT while the Cisco server used a different address for RTP traffic than the one for SIP. I discovered that nf_nat_sip NATed the RTP address to the SIP one which was unnecessary but OK. However, in doing so it did not DNAT the destination address on the RTP traffic to the Cisco back to the original RTP address. This patch corrects this by noting down the RTP address and using it when the expectation fires. Signed-off-by: Herbert Xu Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c2a1910b06fed96db77bb358c18c52a1fcf2b7fe Author: Jorge Boncompte Date: Thu May 3 03:34:42 2007 -0700 [NETFILTER]: nf_nat_proto_gre: do not modify/corrupt GREv0 packets through NAT While porting some changes of the 2.6.21-rc7 pptp/proto_gre conntrack and nat modules to a 2.4.32 kernel I noticed that the gre_key function returns a wrong pointer to the GRE key of a version 0 packet thus corrupting the packet payload. The intended behaviour for GREv0 packets is to act like nf_conntrack_proto_generic/nf_nat_proto_unknown so I have ripped the offending functions (not used anymore) and modified the nf_nat_proto_gre modules to not touch version 0 (non PPTP) packets. Signed-off-by: Jorge Boncompte Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 327850070b019a96853c533c152688546201c286 Author: Patrick McHardy Date: Thu May 3 03:34:03 2007 -0700 [NETFILTER]: ipt_DNAT: accept port randomization option Also accept the --random option for DNAT to allow randomly selecting a destination port from the given range. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0ec96822d5c0df77107c03b8d9a81a436ab707fc Author: Ilpo Järvinen Date: Thu May 3 03:30:34 2007 -0700 [TCP]: Use S+L catcher only with SACK for now TCP has a transitional state when SACK is not in use during which this invariant is temporarily broken. Without SACK, tcp_clean_rtx_queue does not decrement sacked_out. Therefore calls to tcp_sync_left_out before sacked_out is again corrected by tcp_fastretrans_alert can trigger this trap as sacked_out still has couple of segments that are already out of window. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ec9c948546a84d0dcee851be1009a8066958e69d Author: David Howells Date: Thu May 3 03:29:41 2007 -0700 [AFS]: Adjust the new netdevice scanning code Adjust the new netdevice scanning code provided by Patrick McHardy: (1) Restore the function banner comments that were dropped. (2) Rather than using an array size of 6 in some places and an array size of ETH_ALEN in others, pass a pointer instead and pass the array size through so that we can actually check it. (3) Do the buffer fill count check before checking the for_primary_ifa condition again. This permits us to skip that check should maxbufs be reached before we run out of interfaces. Signed-off-by: David Howells Signed-off-by: David S. Miller commit dc1f6bff6a9d6733a07b9b97905bc824c055e8f4 Author: Patrick McHardy Date: Thu May 3 03:28:49 2007 -0700 [AFS]: Replace rtnetlink client by direct dev_base walking Replace the large and complicated rtnetlink client by two simple functions for getting the MAC address for the first ethernet device and building a list of IPv4 addresses. Signed-off-by: Patrick McHardy Signed-off-by: David Howells Signed-off-by: David S. Miller commit 4e9cac2ba437fcb093c7417b1cd91a77ebd1756a Author: Patrick McHardy Date: Thu May 3 03:28:13 2007 -0700 [NET]: Add __dev_getfirstbyhwtype Add __dev_getfirstbyhwtype for callers that don't want a reference but some data from the device and thus need to take the rtnl anyway. Signed-off-by: Patrick McHardy Signed-off-by: David Howells Signed-off-by: David S. Miller commit 5b35fad9d4fc2fcaf5c23887c1de1bc3eb28ab8c Author: Patrick McHardy Date: Thu May 3 03:27:39 2007 -0700 [AFS]: Fix memory leak in SRXAFSCB_GetCapabilities The interface array is not freed on exit. Signed-off-by: Patrick McHardy Signed-off-by: David Howells Signed-off-by: David S. Miller commit 188ccb5583b8f501e1d0f5ba4f056afa141694e7 Author: Patrick McHardy Date: Thu May 3 03:27:01 2007 -0700 [NETLINK]: Fix use after free in netlink_recvmsg When the user passes in MSG_TRUNC the skb is used after getting freed. Signed-off-by: Patrick McHardy Signed-off-by: David Howells Signed-off-by: David S. Miller commit 3f660d66dfbc13ea4b61d3865851b348444c24b4 Author: Herbert Xu Date: Thu May 3 03:17:14 2007 -0700 [NETLINK]: Kill CB only when socket is unused Since we can still receive packets until all references to the socket are gone, we don't need to kill the CB until that happens. This also aligns ourselves with the receive queue purging which happens at that point. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit be52178b9f73969b583c6a781ca613f4e601221a Author: Randy Dunlap Date: Thu May 3 03:16:20 2007 -0700 [NET] skbuff: fix kernel-doc Fix skbuff.h kernel-doc: linux-2.6.21-git4//include/linux/skbuff.h:316): No description found for parameter 'transport_header' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 825e7d45cfa41bc96dd8ac4978b4d458a9ad5770 Author: Robert P. J. Day Date: Thu May 3 03:13:35 2007 -0700 [TCP]: Delete unused header file net/ipv4/tcp_yeah.h. Delete the apparently unused header file net/ipv4/tcp_yeah.h. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit fbb3fcba72ff52ee3d9990c9dec0c95cd9d0ce17 Author: David Howells Date: Thu May 3 03:12:46 2007 -0700 [AFS]: Fix use of __exit functions from __init path Fix use of __exit functions from __init path. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 80c72fe415698049a477314ac82790c1af0fa7e3 Author: David Howells Date: Thu May 3 03:11:29 2007 -0700 [AFS/AF_RXRPC]: Miscellaneous fixes. Make miscellaneous fixes to AFS and AF_RXRPC: (*) Make AF_RXRPC select KEYS rather than RXKAD or AFS_FS in Kconfig. (*) Don't use FS_BINARY_MOUNTDATA. (*) Remove a done 'TODO' item in a comemnt on afs_get_sb(). (*) Don't pass a void * as the page pointer argument of kmap_atomic() as this breaks on m68k. Patch from Geert Uytterhoeven . (*) Use match_*() functions rather than doing my own parsing. Signed-off-by: David Howells Signed-off-by: David S. Miller commit ef4533f8af7a8798cb8f52b06f47acf0c0d2d767 Author: David Howells Date: Thu May 3 03:10:39 2007 -0700 [AFS]: Make the match_*() functions take const options. Make the match_*() functions take a const pointer to the options table and make strings pointers in the options table const too. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 709525fad8a925de16938caf7fce3bf601ef869c Author: Eric Dumazet Date: Thu May 3 03:08:43 2007 -0700 [IPV6]: Get rid of __HAVE_ARCH_ADDR_SET. __HAVE_ARCH_ADDR_SET seems unused these days, just get rid of it. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2ff81f70b56dc1cdd3bf2f08414608069db6ef1a Author: Avi Kivity Date: Sun Apr 29 16:25:49 2007 +0300 KVM: Remove unused 'instruction_length' As we no longer emulate in userspace, this is meaningless. We don't compute it on SVM anyway. Signed-off-by: Avi Kivity commit 02c83209726270ddf9597deabc45e08f6fc3942c Author: Avi Kivity Date: Sun Apr 29 15:02:17 2007 +0300 KVM: Don't require explicit indication of completion of mmio or pio It is illegal not to return from a pio or mmio request without completing it, as mmio or pio is an atomic operation. Therefore, we can simplify the userspace interface by avoiding the completion indication. Signed-off-by: Avi Kivity commit e7df56e4a00358b6975fae3b70dc9df1282d427a Author: Avi Kivity Date: Wed Mar 14 15:54:54 2007 +0200 KVM: Remove extraneous guest entry on mmio read When emulating an mmio read, we actually emulate twice: once to determine the physical address of the mmio, and, after we've exited to userspace to get the mmio value, we emulate again to place the value in the result register and update any flags. But we don't really need to enter the guest again for that, only to take an immediate vmexit. So, if we detect that we're doing an mmio read, emulate a single instruction before entering the guest again. Signed-off-by: Avi Kivity commit 94dfbdb3894eda2f673b70e20da2743c4a8d3968 Author: Anthony Liguori Date: Sun Apr 29 11:56:06 2007 +0300 KVM: SVM: Only save/restore MSRs when needed We only have to save/restore MSR_GS_BASE on every VMEXIT. The rest can be saved/restored when we leave the VCPU. Since we don't emulate the DEBUGCTL MSRs and the guest cannot write to them, we don't have to worry about saving/restoring them at all. This shaves a whopping 40% off raw vmexit costs on AMD. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit 2807696c3791d6dd1dcf20f022eaa2dc7615bc5d Author: Adrian Bunk Date: Sat Apr 28 21:20:48 2007 +0200 KVM: fix an if() condition It might have worked in this case since PT_PRESENT_MASK is 1, but let's express this correctly. Signed-off-by: Adrian Bunk Signed-off-by: Avi Kivity commit 2ab455ccceb07945368709ba852e49f4c3119331 Author: Anthony Liguori Date: Fri Apr 27 09:29:49 2007 +0300 KVM: VMX: Add lazy FPU support for VT Only save/restore the FPU host state when the guest is actually using the FPU. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit 25c4c2762e31a75403eca0dd59f2cab85e3a2532 Author: Anthony Liguori Date: Fri Apr 27 09:29:21 2007 +0300 KVM: VMX: Properly shadow the CR0 register in the vcpu struct Set all of the host mask bits for CR0 so that we can maintain a proper shadow of CR0. This exposes CR0.TS, paving the way for lazy fpu handling. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit e0e5127d06957e76da3906b7a58d5d2665e81f59 Author: Avi Kivity Date: Wed Apr 25 10:59:52 2007 +0300 KVM: Don't complain about cpu erratum AA15 It slows down Windows x64 horribly. Signed-off-by: Avi Kivity commit 7807fa6ca5af2e5660a0eb3cd90276ca0c5bdfc8 Author: Anthony Liguori Date: Mon Apr 23 09:17:21 2007 -0500 KVM: Lazy FPU support for SVM Avoid saving and restoring the guest fpu state on every exit. This shaves ~100 cycles off the guest/host switch. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit 4c690a1e8667a84b61a6114a4ad293681f32cb11 Author: Avi Kivity Date: Sun Apr 22 15:28:19 2007 +0300 KVM: Allow passing 64-bit values to the emulated read/write API This simplifies the API somewhat (by eliminating the special-case cmpxchg8b on i386). Signed-off-by: Avi Kivity commit 1165f5fec18c077bdba88e7125fd41f8e3617cb4 Author: Avi Kivity Date: Thu Apr 19 17:27:43 2007 +0300 KVM: Per-vcpu statistics Make the exit statistics per-vcpu instead of global. This gives a 3.5% boost when running one virtual machine per core on my two socket dual core (4 cores total) machine. Signed-off-by: Avi Kivity commit 3fca03653010b8c5fa63b99fc94c78cbfb433d00 Author: Yaozu Dong Date: Wed Apr 25 16:49:19 2007 +0300 KVM: VMX: Avoid unnecessary vcpu_load()/vcpu_put() cycles By checking if a reschedule is needed, we avoid dropping the vcpu. [With changes by me, based on Anthony Liguori's observations] Signed-off-by: Avi Kivity commit d6c69ee9a24b307ce94e55ebfba6208a830c9ecb Author: Yaozu Dong Date: Wed Apr 25 14:17:25 2007 +0800 KVM: MMU: Avoid heavy ASSERT at non debug mode. Signed-off-by: Avi Kivity commit 4d56c8a787aefb2e3fc4ac4be966db96c14d1ad8 Author: Avi Kivity Date: Thu Apr 19 14:28:44 2007 +0300 KVM: VMX: Only save/restore MSR_K6_STAR if necessary Intel hosts only support syscall/sysret in long more (and only if efer.sce is enabled), so only reload the related MSR_K6_STAR if the guest will actually be able to use it. This reduces vmexit cost by about 500 cycles (6400 -> 5870) on my setup. Signed-off-by: Avi Kivity commit 35cc7f971188366f5a5c0d5da1456bb38cef5da9 Author: Avi Kivity Date: Thu Apr 19 13:26:39 2007 +0300 KVM: Fold drivers/kvm/kvm_vmx.h into drivers/kvm/vmx.c No meat in that file. Signed-off-by: Avi Kivity commit e38aea3e9330624d19a233c05f3e69c57519edd5 Author: Avi Kivity Date: Thu Apr 19 13:22:48 2007 +0300 KVM: VMX: Don't switch 64-bit msrs for 32-bit guests Some msrs are only used by x86_64 instructions, and are therefore not needed when the guest is legacy mode. By not bothering to switch them, we reduce vmexit latency by 2400 cycles (from about 8800) when running a 32-bt guest on a 64-bit host. Signed-off-by: Avi Kivity commit 2345df8c555ecb92c0c36172c07d5ac321a92dc7 Author: Avi Kivity Date: Tue Apr 17 15:30:24 2007 +0300 KVM: VMX: Reduce unnecessary saving of host msrs THe automatically switched msrs are never changed on the host (with the exception of MSR_KERNEL_GS_BASE) and thus there is no need to save them on every vm entry. This reduces vmexit latency by ~400 cycles on i386 and by ~900 cycles (10%) on x86_64. Signed-off-by: Avi Kivity commit c9047f533373e934b96d19d6a3d313ca2132fbe5 Author: Avi Kivity Date: Tue Apr 17 10:53:22 2007 +0300 KVM: Handle guest page faults when emulating mmio Usually, guest page faults are detected by the kvm page fault handler, which detects if they are shadow faults, mmio faults, pagetable faults, or normal guest page faults. However, in ceratin circumstances, we can detect a page fault much later. One of these events is the following combination: - A two memory operand instruction (e.g. movsb) is executed. - The first operand is in mmio space (which is the fault reported to kvm) - The second operand is in an ummaped address (e.g. a guest page fault) The Windows 2000 installer does such an access, an promptly hangs. Fix by adding the missing page fault injection on that path. Signed-off-by: Avi Kivity commit 364b625b561b1dd74e6fa696949ae3de28999a66 Author: Avi Kivity Date: Mon Apr 16 14:28:40 2007 +0300 KVM: SVM: Report hardware exit reason to userspace instead of dmesg Signed-off-by: Avi Kivity commit 8c4385024d31cb909ad84a2cafa5c83a4c5fab61 Author: Avi Kivity Date: Mon Apr 16 11:53:17 2007 +0300 KVM: Retry sleeping allocation if atomic allocation fails This avoids -ENOMEM under memory pressure. Signed-off-by: Avi Kivity commit b5a33a75720c03d58d8281a72b45ffd214f00ed7 Author: Avi Kivity Date: Sun Apr 15 16:31:09 2007 +0300 KVM: Use slab caches to allocate mmu data structures Better leak detection, statistics, memory use, speed -- goodness all around. Signed-off-by: Avi Kivity commit 417726a3fbecb2092f1054bbaee87bc442b05ef3 Author: Avi Kivity Date: Thu Apr 12 17:35:58 2007 +0300 KVM: Handle partial pae pdptr Some guests (Solaris) do not set up all four pdptrs, but leave some invalid. kvm incorrectly treated these as valid page directories, pinning the wrong pages and causing general confusion. Fix by checking the valid bit of a pae pdpte. This closes sourceforge bug 1698922. Signed-off-by: Avi Kivity commit d917a6b92d0d1e4e2b98e86c584bc9e643cd5117 Author: Avi Kivity Date: Thu Apr 12 13:03:01 2007 +0300 KVM: Initialize cr0 to indicate an fpu is present Solaris panics if it sees a cpu with no fpu, and it seems to rely on this bit. Closes sourceforge bug 1698920. Signed-off-by: Avi Kivity commit 3964994bb5ba85a3d8b54ae618f7be1cecce916d Author: Eric Sesterhenn / Snakebyte Date: Mon Apr 9 16:15:05 2007 +0200 KVM: Fix overflow bug in overflow detection code The expression sp - 6 < sp where sp is a u16 is undefined in C since 'sp - 6' is promoted to int, and signed overflow is undefined in C. gcc 4.2 actually warns about it. Replace with a simpler test. Signed-off-by: Eric Sesterhenn Signed-off-by: Avi Kivity commit 5008fdf5b6a31240da060c0867d8f16f08ce2384 Author: Avi Kivity Date: Mon Apr 2 13:05:50 2007 +0300 KVM: Use kernel-standard types Noted by Joerg Roedel. Signed-off-by: Avi Kivity commit 80b7706e4cbaa51d65bd6fea83bd0e59856f50e9 Author: Joerg Roedel Date: Fri Mar 30 17:02:14 2007 +0300 KVM: SVM: enable LBRV virtualization if available This patch enables the virtualization of the last branch record MSRs on SVM if this feature is available in hardware. It also introduces a small and simple check feature for specific SVM extensions. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit b8836737d92c139be770eae3d6574e33d1224caf Author: Avi Kivity Date: Sun Apr 1 16:34:31 2007 +0300 KVM: Add fpu get/set operations These are really helpful when migrating an floating point app to another machine. Signed-off-by: Avi Kivity commit e8207547d2f7b2f557bdb73015c1f74c32474438 Author: Avi Kivity Date: Fri Mar 30 16:54:30 2007 +0300 KVM: Add physical memory aliasing feature With this, we can specify that accesses to one physical memory range will be remapped to another. This is useful for the vga window at 0xa0000 which is used as a movable window into the (much larger) framebuffer. Signed-off-by: Avi Kivity commit 954bbbc236afe23b368abdf4942f313a5f6e1d50 Author: Avi Kivity Date: Fri Mar 30 14:02:32 2007 +0300 KVM: Simply gfn_to_page() Mapping a guest page to a host page is a common operation. Currently, one has first to find the memory slot where the page belongs (gfn_to_memslot), then locate the page itself (gfn_to_page()). This is clumsy, and also won't work well with memory aliases. So simplify gfn_to_page() not to require memory slot translation first, and instead do it internally. Signed-off-by: Avi Kivity commit e0fa826f969c262c23908953bf85add487cc2e6c Author: Dor Laor Date: Fri Mar 30 13:06:33 2007 +0300 KVM: Add mmu cache clear function Functions that play around with the physical memory map need a way to clear mappings to possibly nonexistent or invalid memory. Both the mmu cache and the processor tlb are cleared. Signed-off-by: Dor Laor Signed-off-by: Avi Kivity commit df513e2cdd099822ed32cbc20aaf4ff310372202 Author: Avi Kivity Date: Wed Mar 28 20:04:16 2007 +0200 KVM: x86 emulator: fix bit string operations operand size On x86, bit operations operate on a string of bits that can reside in multiple words. For example, 'btsl %eax, (blah)' will touch the word at blah+4 if %eax is between 32 and 63. The x86 emulator compensates for that by advancing the operand address by (bit offset / BITS_PER_LONG) and truncating the bit offset to the range (0..BITS_PER_LONG-1). This has a side effect of forcing the operand size to 8 bytes on 64-bit hosts. Now, a 32-bit guest goes and fork()s a process. It write protects a stack page at 0xbffff000 using the 'btr' instruction, at offset 0xffc in the page table, with bit offset 1 (for the write permission bit). The emulator now forces the operand size to 8 bytes as previously described, and an innocent page table update turns into a cross-page-boundary write, which is assumed by the mmu code not to be a page table, so it doesn't actually clear the corresponding shadow page table entry. The guest and host permissions are out of sync and guest memory is corrupted soon afterwards, leading to guest failure. Fix by not using BITS_PER_LONG as the word size; instead use the actual operand size, so we get a 32-bit write in that case. Note we still have to teach the mmu to handle cross-page-boundary writes to guest page table; but for now this allows Damn Small Linux 0.4 (2.4.20) to boot. Signed-off-by: Avi Kivity commit afeb1f14c5478560262b37431726eb0eb1a42e9e Author: Avi Kivity Date: Tue Mar 27 17:50:20 2007 +0200 KVM: Remove debug message No longer interesting. Signed-off-by: Avi Kivity commit 36868f7b0efd0b6a1d45fe3b40a6c4bc63222659 Author: Avi Kivity Date: Mon Mar 26 19:31:52 2007 +0200 KVM: Use list_move() Use list_move() where possible. Noticed by Dor Laor. Signed-off-by: Avi Kivity commit 55bf4028342d96b21fe5dc0721b481b0bc1e81f6 Author: Michal Piotrowski Date: Sun Mar 25 17:59:32 2007 +0200 KVM: Remove unused function Remove unused function CC drivers/kvm/svm.o drivers/kvm/svm.c:207: warning: ‘inject_db’ defined but not used Signed-off-by: Michal Piotrowski Signed-off-by: Avi Kivity commit 0cc5064d335543a72c5ef904a3f528966fa3f2d2 Author: Avi Kivity Date: Sun Mar 25 12:07:27 2007 +0200 KVM: SVM: Ensure timestamp counter monotonicity When a vcpu is migrated from one cpu to another, its timestamp counter may lose its monotonic property if the host has unsynced timestamp counters. This can confuse the guest, sometimes to the point of refusing to boot. As the rdtsc instruction is rather fast on AMD processors (7-10 cycles), we can simply record the last host tsc when we drop the cpu, and adjust the vcpu tsc offset when we detect that we've migrated to a different cpu. Signed-off-by: Avi Kivity commit d28c6cfbbc5e2d4fccfe6d733995ed5971ca87f6 Author: Avi Kivity Date: Fri Mar 23 09:55:25 2007 +0200 KVM: MMU: Fix hugepage pdes mapping same physical address with different access The kvm mmu keeps a shadow page for hugepage pdes; if several such pdes map the same physical address, they share the same shadow page. This is a fairly common case (kernel mappings on i386 nonpae Linux, for example). However, if the two pdes map the same memory but with different permissions, kvm will happily use the cached shadow page. If the access through the more permissive pde will occur after the access to the strict pde, an endless pagefault loop will be generated and the guest will make no progress. Fix by making the access permissions part of the cache lookup key. The fix allows Xen pae to boot on kvm and run guest domains. Thanks to Jeremy Fitzhardinge for reporting the bug and testing the fix. Signed-off-by: Avi Kivity commit 916ce2360fadc71d924e02403b31280112a31280 Author: Joerg Roedel Date: Wed Mar 21 19:47:00 2007 +0100 KVM: SVM: forbid guest to execute monitor/mwait This patch forbids the guest to execute monitor/mwait instructions on SVM. This is necessary because the guest can execute these instructions if they are available even if the kvm cpuid doesn't report its existence. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 0e5bf0d0e449f6597870570e8dd17e78ba4d75ff Author: Sergey Kiselev Date: Thu Mar 22 14:06:18 2007 +0200 KVM: Handle writes to MCG_STATUS msr Some older (~2.6.7) kernels write MCG_STATUS register during kernel boot (mce_clear_all() function, called from mce_init()). It's not currently handled by kvm and will cause it to inject a GPF. Following patch adds a "nop" handler for this. Signed-off-by: Sergey Kiselev Signed-off-by: Avi Kivity commit fcd3410870049cb74bb1a3a2458cb3ec21185cd1 Author: Avi Kivity Date: Wed Mar 21 18:14:42 2007 +0200 KVM: Remove unused and write-only variables Trivial cleanup. Signed-off-by: Avi Kivity commit 6da63cf95f6a19fe0a302232048452c96b178e45 Author: Avi Kivity Date: Wed Mar 21 18:11:36 2007 +0200 KVM: Don't allow the guest to turn off the cpu cache The cpu cache is a host resource; the guest should not be able to turn it off (even for itself). Signed-off-by: Avi Kivity commit 038881c8bec0e9a796d1782c56e29e7c2456626d Author: Avi Kivity Date: Wed Mar 21 17:58:32 2007 +0200 KVM: Hack real-mode segments on vmx from KVM_SET_SREGS As usual, we need to mangle segment registers when emulating real mode as vm86 has specific constraints. We special case the reset segment base, and set the "access rights" (or descriptor flags) to vm86 comaptible values. This fixes reboot on vmx. Signed-off-by: Avi Kivity commit 024aa1c02f0a9f938af83f55c727bcb18187eba4 Author: Avi Kivity Date: Wed Mar 21 13:44:58 2007 +0200 KVM: Modify guest segments after potentially switching modes The SET_SREGS ioctl modifies both cr0.pe (real mode/protected mode) and guest segment registers. Since segment handling is modified by the mode on Intel procesors, update the segment registers after the mode switch has taken place. Signed-off-by: Avi Kivity commit f6528b03f167785301908bf124db7be591e983ca Author: Avi Kivity Date: Tue Mar 20 18:44:51 2007 +0200 KVM: Remove set_cr0_no_modeswitch() arch op set_cr0_no_modeswitch() was a hack to avoid corrupting segment registers. As we now cache the protected mode values on entry to real mode, this isn't an issue anymore, and it interferes with reboot (which usually _is_ a modeswitch). Signed-off-by: Avi Kivity commit 8cb5b0333250beb382624f626851a31f601b4830 Author: Avi Kivity Date: Tue Mar 20 18:40:40 2007 +0200 KVM: Workaround vmx inability to virtualize the reset state The reset state has cs.selector == 0xf000 and cs.base == 0xffff0000, which aren't compatible with vm86 mode, which is used for real mode virtualization. When we create a vcpu, we set cs.base to 0xf0000, but if we get there by way of a reset, the values are inconsistent and vmx refuses to enter guest mode. Workaround by detecting the state and munging it appropriately. Signed-off-by: Avi Kivity commit aac012245a59d78372dc66d292ba567367d86b60 Author: Avi Kivity Date: Tue Mar 20 14:34:28 2007 +0200 KVM: MMU: Remove global pte tracking The initial, noncaching, version of the kvm mmu flushed the all nonglobal shadow page table translations (much like a native tlb flush). The new implementation flushes translations only when they change, rendering global pte tracking superfluous. This removes the unused tracking mechanism and storage space. Signed-off-by: Avi Kivity commit ca5aac1f96c18b5e4dcfea253d7ab607b5dcd5c9 Author: Avi Kivity Date: Tue Mar 20 14:29:06 2007 +0200 KVM: MMU: Remove unnecessary check for pdptr access We already special case the pdptr access, so no need to check it again. Signed-off-by: Avi Kivity commit 039576c03c35e2f990ad9bb9c39e1bad3cd60d34 Author: Avi Kivity Date: Tue Mar 20 12:46:50 2007 +0200 KVM: Avoid guest virtual addresses in string pio userspace interface The current string pio interface communicates using guest virtual addresses, relying on userspace to translate addresses and to check permissions. This interface cannot fully support guest smp, as the check needs to take into account two pages at one in case an unaligned string transfer straddles a page boundary. Change the interface not to communicate guest addresses at all; instead use a buffer page (mmaped by userspace) and do transfers there. The kernel manages the virtual to physical translation and can perform the checks atomically by taking the appropriate locks. Signed-off-by: Avi Kivity commit f0fe510864a4520a85dfa35ae14f5f376c56efc7 Author: Avi Kivity Date: Wed Mar 7 13:11:17 2007 +0200 KVM: Future-proof argument-less ioctls Some ioctls ignore their arguments. By requiring them to be zero now, we allow a nonzero value to have some special meaning in the future. Signed-off-by: Avi Kivity commit 07c45a366d89f8eaec5d9890e810171b408f9a52 Author: Avi Kivity Date: Wed Mar 7 13:05:38 2007 +0200 KVM: Allow kernel to select size of mmap() buffer This allows us to store offsets in the kernel/user kvm_run area, and be sure that userspace has them mapped. As offsets can be outside the kvm_run struct, userspace has no way of knowing how much to mmap. Signed-off-by: Avi Kivity commit 1961d276c877b99f5f16aaf36377c75e0e191c3a Author: Avi Kivity Date: Mon Mar 5 19:46:05 2007 +0200 KVM: Add guest mode signal mask Allow a special signal mask to be used while executing in guest mode. This allows signals to be used to interrupt a vcpu without requiring signal delivery to a userspace handler, which is quite expensive. Userspace still receives -EINTR and can get the signal via sigwait(). Signed-off-by: Avi Kivity commit 6722c51c51518af9581ab6cd9b6aec93774334a6 Author: Avi Kivity Date: Mon Mar 5 17:45:40 2007 +0200 KVM: Initialize the apic_base msr on svm too Older userspace didn't care, but newer userspace (with the cpuid changes) does. Signed-off-by: Avi Kivity commit 1b19f3e61d7e1edb395dd64bf7d63621a37af8ca Author: Avi Kivity Date: Sun Mar 4 14:24:03 2007 +0200 KVM: Add a special exit reason when exiting due to an interrupt This is redundant, as we also return -EINTR from the ioctl, but it allows us to examine the exit_reason field on resume without seeing old data. Signed-off-by: Avi Kivity commit 8eb7d334bd8e693340ee198280f7d45035cdab8c Author: Avi Kivity Date: Sun Mar 4 14:17:08 2007 +0200 KVM: Fold kvm_run::exit_type into kvm_run::exit_reason Currently, userspace is told about the nature of the last exit from the guest using two fields, exit_type and exit_reason, where exit_type has just two enumerations (and no need for more). So fold exit_type into exit_reason, reducing the complexity of determining what really happened. Signed-off-by: Avi Kivity commit b4e63f560beb187cffdaf706e534a1e2f9effb66 Author: Avi Kivity Date: Sun Mar 4 13:59:30 2007 +0200 KVM: Allow userspace to process hypercalls which have no kernel handler This is useful for paravirtualized graphics devices, for example. Signed-off-by: Avi Kivity commit 5d308f4550d9dc4c236e08b0377b610b9578577b Author: Avi Kivity Date: Thu Mar 1 17:56:20 2007 +0200 KVM: Add method to check for backwards-compatible API extensions Signed-off-by: Avi Kivity commit 739872c56f3322c38320c7a5a543ef6f56f174bc Author: Avi Kivity Date: Thu Mar 1 17:20:13 2007 +0200 KVM: Renumber ioctls The recent changes have left the ioctl numbers in complete disarray. Signed-off-by: Avi Kivity commit 2a4dac3952468157297b81ae0a29815c02ead179 Author: Avi Kivity Date: Thu Mar 1 16:47:06 2007 +0200 KVM: Remove minor wart from KVM_CREATE_VCPU ioctl That ioctl does not transfer any data, so it should be an _IO rather than an _IOW. Signed-off-by: Avi Kivity commit 106b552b43beac2694df5fbafc8f125a72df5f65 Author: Avi Kivity Date: Thu Mar 1 16:20:40 2007 +0200 KVM: Remove the 'emulated' field from the userspace interface We no longer emulate single instructions in userspace. Instead, we service mmio or pio requests. Signed-off-by: Avi Kivity commit 06465c5a3aa9948a7b00af49cd22ed8f235cdb0f Author: Avi Kivity Date: Wed Feb 28 20:46:53 2007 +0200 KVM: Handle cpuid in the kernel instead of punting to userspace KVM used to handle cpuid by letting userspace decide what values to return to the guest. We now handle cpuid completely in the kernel. We still let userspace decide which values the guest will see by having userspace set up the value table beforehand (this is necessary to allow management software to set the cpu features to the least common denominator, so that live migration can work). The motivation for the change is that kvm kernel code can be impacted by cpuid features, for example the x86 emulator. Signed-off-by: Avi Kivity commit 46fc1477887c41c8e900f2c95485e222b9a54822 Author: Avi Kivity Date: Thu Feb 22 19:39:30 2007 +0200 KVM: Do not communicate to userspace through cpu registers during PIO Currently when passing the a PIO emulation request to userspace, we rely on userspace updating %rax (on 'in' instructions) and %rsi/%rdi/%rcx (on string instructions). This (a) requires two extra ioctls for getting and setting the registers and (b) is unfriendly to non-x86 archs, when they get kvm ports. So fix by doing the register fixups in the kernel and passing to userspace only an abstract description of the PIO to be done. Signed-off-by: Avi Kivity commit 9a2bb7f486dc639a1cf2ad803bf2227f0dc0809d Author: Avi Kivity Date: Thu Feb 22 12:58:31 2007 +0200 KVM: Use a shared page for kernel/user communication when runing a vcpu Instead of passing a 'struct kvm_run' back and forth between the kernel and userspace, allocate a page and allow the user to mmap() it. This reduces needless copying and makes the interface expandable by providing lots of free space. Signed-off-by: Avi Kivity commit 1ea252afcd4b264b71d9c3f55358ff5ba4c04f1b Author: Avi Kivity Date: Thu Mar 8 11:48:09 2007 +0200 KVM: Fix bogus sign extension in mmu mapping audit When auditing a 32-bit guest on a 64-bit host, sign extension of the page table directory pointer table index caused bogus addresses to be shown on audit errors. Fix by declaring the index unsigned. Signed-off-by: Avi Kivity commit ff42697436ddf5bd026e2cb4f117656b967f0709 Author: Avi Kivity Date: Wed Mar 7 09:29:48 2007 +0200 KVM: Export This allows users to actually build prgrams that use kvm without the entire source tree. Signed-off-by: Avi Kivity commit bbe4432e669ab94fc8059e7ab878cafad7b8d123 Author: Avi Kivity Date: Sun Mar 4 13:27:36 2007 +0200 KVM: Use own minor number Use the minor number (232) allocated to kvm by lanana. Signed-off-by: Avi Kivity commit 510043da8582ad49d22a1e9a6b211e6ede10cd2e Author: Dor Laor Date: Mon Feb 19 18:25:43 2007 +0200 KVM: Use the generic skip_emulated_instruction() in hypercall code Instead of twiddling the rip registers directly, use the skip_emulated_instruction() function to do that for us. Signed-off-by: Dor Laor Signed-off-by: Avi Kivity commit 9b22bf578332d3e326c349bc8a8789af3d952435 Author: Dor Laor Date: Mon Feb 19 16:44:49 2007 +0200 KVM: Fix guest register corruption on paravirt hypercall The hypercall code mixes up the ->cache_regs() and ->decache_regs() callbacks, resulting in guest register corruption. Signed-off-by: Dor Laor Signed-off-by: Avi Kivity commit 796e5661f6b6be1600b3ab47c61ce61cf3e7a353 Author: Roland Dreier Date: Thu May 3 04:33:45 2007 +0000 [CIFS] Change semaphore to mutex for cifs lock_sem Originally at http://lkml.org/lkml/2006/9/2/86 The recent change to "allow Windows blocking locks to be cancelled via a CANCEL_LOCK call" introduced a new semaphore in struct cifsFileInfo, lock_sem. However, semaphores used as mutexes are deprecated these days, and there's no reason to add a new one to the kernel. Therefore, convert lock_sem to a struct mutex (and also fix one indentation glitch on one of the lines changed anyway). Signed-off-by: Roland Dreier Signed-off-by: Jan Engelhardt Signed-off-by: Steve French commit 0b2365f826f40d6e966365299d4e9dcc7ef4e93f Author: Steve French Date: Thu May 3 04:30:13 2007 +0000 [CIFS] Fix oops in reset_cifs_unix_caps on reconnect Signed-off-by: Steve French commit 9890b12a4a65a7b3181dd963421740edf0e14d69 Author: Michael Ellerman Date: Wed Apr 18 13:34:12 2007 +1000 PCI: Free resource files in error path of pci_create_sysfs_dev_files() pci_create_sysfs_dev_files() should call pci_remove_resource_files() in its error path, to match the call it makes to pci_create_resource_files(). Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit c0affe9db42bf85f4a606b3262c35ec59a5d3788 Author: Tejun Heo Date: Mon Apr 16 13:59:18 2007 +0900 pci-quirks: disable MSI on RS400-200 and RS480 MSI doesn't work on RS400-200 and RS480 requiring pci=nomsi kernel boot parameter for ahci to work. This patch disables MSI on those chips. http://thread.gmane.org/gmane.linux.ide/17820 http://thread.gmane.org/gmane.linux.ide/17516 https://bugzilla.novell.com/show_bug.cgi?id=263893 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit d4770143fe72979d463a911d7a1f75f27ce6437b Author: Jan Engelhardt Date: Fri Apr 13 15:34:27 2007 -0700 PCI hotplug: Use menuconfig objects Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Scott Murray Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 03555d591d2c8ee9291db171c0d21d3c9cab04d9 Author: Scott Murray Date: Fri Apr 13 15:34:26 2007 -0700 PCI: ZT5550 CPCI Hotplug driver fix cc: Philip Guo Here's a small patch against the current git tree for the ZT5550 CPCI hotplug driver to fix an issue with port freeing that Philip Guo found. Signed-off-by: Scott Murray Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit ac1f0e9923356652f21756526e194a4a1a37dd38 Author: Linas Vepstas Date: Fri Apr 13 15:34:25 2007 -0700 PCI: rpaphp: Remove semaphores Remove the semaphores from the get routine. These do not appear to be protecting anything that I can make out, and they also do not seem to be required by the hotplug driver. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit b5661479eeb863749ae28b9ee0dd288464311854 Author: Linas Vepstas Date: Fri Apr 13 15:34:24 2007 -0700 PCI: rpaphp: Ensure more pcibios_add/pcibios_remove symmetry Calls to pcibios_add should be symmetric with calls to pcibios_remove. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit e70ea2634afe7d04ffaf7417df7bfdbfdc460e10 Author: Linas Vepstas Date: Fri Apr 13 15:34:23 2007 -0700 PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically At first blush, the disable_slot() routine does not look at all like its symmetric with the enable_slot() routine; as it seems to call a very different set of routines. However, this is easily fixed: pcibios_remove_pci_devices() does the right thing. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit da65944be2441191539f50ce71cd1f8030699be1 Author: Linas Vepstas Date: Fri Apr 13 15:34:22 2007 -0700 PCI: rpaphp: Document is_php_dn() Fix up the documentation: the rpaphp_add_slot() does not actually handle embedded slots: in fact, it ignores them. Fix the flow of control in the routine that checks for embedded slots. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 8485d1a123e0d367bbcbfec36acf134e6895f39a Author: Linas Vepstas Date: Fri Apr 13 15:34:21 2007 -0700 PCI: rpaphp: Document find_php_slot() Document some of the interaction between dlpar and hotplug. viz, the a dlpar remove of a htoplug slot uses hotplug to remove it. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit fea54b8cc9c8290b4c99d481c3e600c46eb18fd5 Author: Linas Vepstas Date: Fri Apr 13 15:34:20 2007 -0700 PCI: rpaphp: Rename rpaphp_register_pci_slot() to rpaphp_enable_slot() Rename rpaphp_register_pci_slot() because its easy to confuse with rpaphp_register_slot() even though it does something completely different. Rename it to rpaphp_enable_slot() because its almost identical to enbale_slot(). Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 6f79eb749df7f1eea76c947f31603ade7d2b5f6d Author: Linas Vepstas Date: Fri Apr 13 15:34:19 2007 -0700 PCI: rpaphp: refactor tail call to rpaphp_register_slot() Eliminate the tail call to rpaphp_register_slot() by placing it in the caller. This will help later dis-entanglement. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit c02929c278f2bca68635e4c2daa00b7825d71061 Author: Linas Vepstas Date: Fri Apr 13 15:34:18 2007 -0700 PCI: rpaphp: remove rpaphp_set_attention_status() The rpaphp_set_attention_status() routine seems to be a wrapper around a single rtas call. Abolish it. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 307ff12e35526cfab9f09cafcb17239286e6eb85 Author: Linas Vepstas Date: Fri Apr 13 15:34:17 2007 -0700 PCI: rpaphp: remove print_slot_pci_funcs() The debug function print_slot_pci_funcs() is a large wrapper around two debug print statements. Just invoke these directly. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 03a667559138d47cea487823332c4712fc6fbec7 Author: Linas Vepstas Date: Fri Apr 13 15:34:16 2007 -0700 PCI: rpaphp: Remove setup_pci_slot() The setup_pci_slot() routine appears to be nothing else than a big, complicated wrapper around pcibios_add_pci_devices(). Remove the wrapping, and call pcibios_add_pci_devices() directly. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit ebf42c0edd5ee325043d4ae8fbb8caebd707e791 Author: Linas Vepstas Date: Fri Apr 13 15:34:15 2007 -0700 PCI: rpaphp: remove a call that does nothing but a pointer lookup Delete another stovepipe: a call to a routine which does nothing. Remove un-needed semaphore as well. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit bf0af511fcc856649a2a39c627828695b580d124 Author: Linas Vepstas Date: Fri Apr 13 15:34:14 2007 -0700 PCI: rpaphp: Remove another wrappered function Remove another stove-pipe; this funcion was called from two different places, with a compile-time const that is then run-time checked to perform two different things. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 427310ff02e80cc80826407c0121cec3694c9e7d Author: Linas Vepstas Date: Fri Apr 13 15:34:13 2007 -0700 PCI: rpaphp: Remve another call that is a wrapper Remove another stovepipe: a call which wraps another call, and just adds printks. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 517d5a0417e19101eaa769039d1921d626ee546c Author: Linas Vepstas Date: Fri Apr 13 15:34:12 2007 -0700 PCI: rpaphp: remove a function that does nothing but wrap debug printks Remove a stove-pipe-- a function that is called from only one place, does nothing but wraps another function with debug printk's. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 3499f0726ec179afd19669070681ac457d27033f Author: Linas Vepstas Date: Fri Apr 13 15:34:11 2007 -0700 PCI: rpaphp: Remove un-needed goto Remove un-needed goto. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 5fd39c35a016150e93b68c472a04b2d4b5574a2b Author: Linas Vepstas Date: Fri Apr 13 15:34:10 2007 -0700 PCI: rpaphp: Fix a memleak; slot->location string was never freed Fix a memleak; the slot->location string was never freed. Fix some whitespace and overlong-line probelms while we're here. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 31be7586d1122538747519d786408f142f59dd46 Author: Linas Vepstas Date: Fri Apr 13 15:34:09 2007 -0700 PCI: rpaphp: match up alloc and free in same routine The routine that called an alloc should be the same routine that calles the mathcing free, if anything in the middle failed. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit fa1891596ca252e48e8803738fd8ead5b3082217 Author: Linas Vepstas Date: Fri Apr 13 15:34:08 2007 -0700 PCI: rpaphp: Remove global num_slots variable Cleanup cruft: remove the global "num_slots" variable; although scattered across multiple files, it is used only once, in a debug statement. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit bf8cbae47559170d2f2947dd547492714f195dd3 Author: Linas Vepstas Date: Fri Apr 13 15:34:07 2007 -0700 PCI: rpaphp: Cleanup flow of control for rpaphp_add_slot Cleanup the flow of control for rpaphp_add_slot(), so as to make it easier to read. The ext patch will fix a bug in this same code. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit f14e3136509e3825a83f6689cb709f41dfacea47 Author: Chuck Ebbert Date: Tue Apr 10 10:25:44 2007 -0400 PCI: add debug information to resource collision message Add more information to PCI resource collision message to help with debugging. Signed-off-by: Chuck Ebbert Signed-off-by: Greg Kroah-Hartman commit ecf36501bc4ad399e6df2e0bdaa513a2d510b7ec Author: Adrian Bunk Date: Fri Apr 6 12:19:48 2007 +0200 PCI: the overdue removal of pci_module_init() Unless we finally completely remove it, people will always add new users. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 5adc55da4a7758021bcc374904b0f8b076508a11 Author: Adrian Bunk Date: Tue Mar 27 03:02:51 2007 +0200 PCI: remove the broken PCI_MULTITHREAD_PROBE option This patch removes the PCI_MULTITHREAD_PROBE option that had already been marked as broken. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 032de8e2fe3c0eec5fb0ffe4d38aa602dad397dc Author: Michael Ellerman Date: Wed Apr 18 19:39:22 2007 +1000 MSI: Give archs the option to free all MSI/Xs at once. This patch introduces an optional function, arch_teardown_msi_irqs(), which gives an arch the opportunity to do per-device teardown for MSI/X. If that's not required, the default version simply calls arch_teardown_msi_irq() for each msi irq required. arch_teardown_msi_irqs() is simply passed a pdev, attached to the pdev is a list of msi_descs, it is up to the arch to free the irq associated with each of these as appropriate. For archs that _don't_ implement arch_teardown_msi_irqs(), all msi_descs with irq == 0 are considered unallocated, and the arch teardown routine is not called on them. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 9c8313343c83c0ca731ceb8d2a4ab1e022ed9c94 Author: Michael Ellerman Date: Wed Apr 18 19:39:21 2007 +1000 MSI: Give archs the option to allocate all MSI/Xs at once. This patch introduces an optional function, arch_setup_msi_irqs(), (note the plural) which gives an arch the opportunity to do per-device setup for MSI/X and then allocate all the requested MSI/Xs at once. If that's not required by the arch, the default version simply calls arch_setup_msi_irq() for each MSI irq required. arch_setup_msi_irqs() is passed a pdev, attached to the pdev is a list of msi_descs with irq == 0, it is up to the arch to connect these up to an irq (via set_irq_msi()) or return an error. For convenience the number of vectors and the type are passed also. All msi_descs with irq != 0 are considered allocated, and the arch teardown routine will be called on them when necessary. The existing semantics of pci_enable_msix() are that if the requested number of irqs can not be allocated, the maximum number that _could_ be allocated is returned. To support that, we define that in case of an error from arch_setup_msi_irqs(), the number of msi_descs with irq != 0 are considered allocated, and are counted toward the "max that could be allocated". Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 7fe3730de729b758e9f69b862b9255d998671b5f Author: Michael Ellerman Date: Wed Apr 18 19:39:21 2007 +1000 MSI: arch must connect the irq and the msi_desc set_irq_msi() currently connects an irq_desc to an msi_desc. The archs call it at some point in their setup routine, and then the generic code sets up the reverse mapping from the msi_desc back to the irq. set_irq_msi() should do both connections, making it the one and only call required to connect an irq with it's MSI desc and vice versa. The arch code MUST call set_irq_msi(), and it must do so only once it's sure it's not going to fail the irq allocation. Given that there's no need for the arch to return the irq anymore, the return value from the arch setup routine just becomes 0 for success and anything else for failure. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit f282b97021ddc95c6092b9016f667c0963858fb1 Author: Dan Williams Date: Wed Apr 18 18:46:20 2007 +1000 msi: introduce ARCH_SUPPORTS_MSI Kconfig option (rev2) Allows architectures to advertise that they support MSI rather than listing each architecture as a PCI_MSI dependency. Signed-off-by: Dan Williams Acked-by: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit 314e77b3eec57001eaff82b82920150175b74e09 Author: Michael Ellerman Date: Thu Apr 5 17:19:12 2007 +1000 MSI: Remove dev->first_msi_irq Now that we keep a list of msi descriptors, we don't need first_msi_irq in the pci dev. If we somehow have zero MSIs configured list_entry() will give us weird oopes or nice memory corruption bugs. So be paranoid. Add BUG_ONs and also a check in pci_msi_check_device() to make sure nvec > 0. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 4aa9bc955d61fdf03b5f9cee67db188fe1ffa8b7 Author: Michael Ellerman Date: Thu Apr 5 17:19:10 2007 +1000 MSI: Use a list instead of the custom link structure The msi descriptors are linked together with what looks a lot like a linked list, but isn't a struct list_head list. Make it one. The only complication is that previously we walked a list of irqs, and got the descriptor for each with get_irq_msi(). Now we have a list of descriptors and need to get the irq out of it, so it needs to be in the actual struct msi_desc. We use 0 to indicate no irq is setup. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit bab41e9be75121c473b00df2ffa33af3c44066a7 Author: Michael Ellerman Date: Thu Apr 5 17:19:09 2007 +1000 PCI: Convert to alloc_pci_dev() Convert code that allocs a struct pci_dev to use alloc_pci_dev(). Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 65891215e6b822c368fb3f36abf129ed48af8be0 Author: Michael Ellerman Date: Thu Apr 5 17:19:08 2007 +1000 PCI: Create alloc_pci_dev(), the one true way to create a struct pci_dev There are currently several places in the kernel where we kmalloc() a struct pci_dev and start initialising it. It'd be preferable to have an allocator so we can ensure the pci_dev is correctly initialised in one place. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit c9953a73e92df11edd812d863ff741877ea9e58c Author: Michael Ellerman Date: Thu Apr 5 17:19:08 2007 +1000 MSI: Add an arch_msi_check_device() Add an arch_check_device(), which gives archs a chance to check the input to pci_enable_msi/x. The arch might be interested in the value of nvec so pass it in. Propagate the error value returned from the arch routine out to the caller. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 17bbc12acdb23ffb9613e12ca974fafd31bfcb56 Author: Michael Ellerman Date: Thu Apr 5 17:19:07 2007 +1000 MSI: Rename pci_msi_supported() to pci_msi_check_device() As pointed out by Eric, the name pci_msi_supported() suggests it should return a boolean value, however it doesn't. So update the name to be a bit less confusing and update the doco too. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 128bc5fced238752d01b5169077f2ec624b3d59b Author: Michael Ellerman Date: Thu Mar 22 21:51:39 2007 +1100 MSI: Consolidate precondition checks Consolidate precondition checks into a single if statement. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit b1e2303dba021ee417c65a89e467a2b145ff9217 Author: Michael Ellerman Date: Thu Mar 22 21:51:39 2007 +1100 MSI: Expand pci_msi_supported() pci_enable_msi() and pci_enable_msix() both search for the MSI/MSI-X capability, we can fold this into pci_msi_supported() by passing the type in. Update the code to match the comment for pci_msi_supported(). That is it returns 0 on success, and anything else indicates an error. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 3e916c0503a34ba32202a69df1cfeb82f2c5749d Author: Michael Ellerman Date: Thu Mar 22 21:51:36 2007 +1100 MSI: Remove msi_cache We don't need a special cache just for msi descriptors. They're not particularly large, under 100 bytes for sure, and don't seem to require any special alignment etc. On most systems there will be relatively few MSIs, and hence we waste most of a page on the cache. Better to just kzalloc the space for the few we do need. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 4cc086fa5b648dc3dcd56c963e42a212f2d9df29 Author: Michael Ellerman Date: Thu Mar 22 21:51:34 2007 +1100 MSI: Move EXPORT_SYMBOL()s near their definition Move EXPORT_SYMBOL()s near their definition. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 7ede9c1fa50e01a8222217d4606bcbc44cd68f1a Author: Michael Ellerman Date: Thu Mar 22 21:51:34 2007 +1100 MSI: Consolidate BUG_ON()s. When freeing MSIs and MSI-Xs, we BUG_ON() if the irq has not been freed, ie. if it still has an action. We can consolidate all of these BUG_ON()s into msi_free_irqs() as all the code paths lead there almost immediately anyway. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit fc4afc7b2bdd81e2dbded5a8222676d3161758d3 Author: Michael Ellerman Date: Thu Mar 22 21:51:33 2007 +1100 MSI: Consolidate MSI-X irq freeing code For the MSI-X case we do exactly the same logic in pci_disable_msix() and msi_remove_pci_irq_vectors(), so consolidate them. msi_remove_pci_irq_vectors() wasn't setting dev->first_msi_irq to 0, but I think it should have been, so the consolidated version does. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 00ba16ab2658afe11d4fdcaf16a331292c44bee6 Author: Michael Ellerman Date: Thu Mar 22 21:51:31 2007 +1100 MSI: Simplify BUG() handling in msi_remove_pci_irq_vectors() part 2 Although it might be nice to do a printk before BUG'ing, it's really not necessary, and it complicates the code. The behaviour has changed slightly, in that before we set a flag if the irq had an action, and continued freeing the other irqs. But as I see it that's all irrelevant because we end up BUG'ing anyway. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit c31af3987020eeb1facf64d702dcf39e6c7382e6 Author: Michael Ellerman Date: Thu Mar 22 21:51:31 2007 +1100 MSI: Simplify BUG() handling in msi_remove_pci_irq_vectors() part 1 Although it might be nice to do a printk before BUG'ing, it's really not necessary, and it complicates the code. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 54bc6c0b0edd164fc2ea85b3964736c182f6bd5d Author: Michael Ellerman Date: Thu Mar 22 21:51:27 2007 +1100 MSI: Simplify BUG() handling in pci_disable_msix() Although it might be nice to do a printk before BUG'ing, it's really not necessary, and it complicates the code. The behaviour has changed slightly, in that before we set a flag if the irq had an action, and continued freeing the other irqs. But as I see it that's all irrelevant because we end up BUG'ing anyway. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit e387b9eefe89a23245f2446f947529cce5d6db35 Author: Michael Ellerman Date: Thu Mar 22 21:51:27 2007 +1100 MSI: Simplify BUG() handling in pci_disable_msi() Although it might be nice to do a printk before BUG'ing, it's really not necessary, and it complicates the code. Signed-off-by: Michael Ellerman Acked-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 54eee4c5bf553ad54ba200d00487b61eb6b155f6 Author: Randy Dunlap Date: Wed Apr 4 21:35:39 2007 -0700 PCI Documentation: power/pci.txt fix copy/paste error Correct function name copy-paste error. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 0da0ead90122578ef6e4afba9ba4bcd3455fd8e8 Author: Sergei Shtylyov Date: Sun Apr 1 21:13:58 2007 +0400 PCI: define pci_request/release_regions() for CONFIG_PCI=n Balance declarations of pci_request_regions() and pci_release_regions() with empty inline definitions for the CONFIG_PCI=n case -- otherwise my patch to drivers/net/3c59x.c in the -mm tree doesn't compile. :-) Signed-off-by: Sergei Shtylyov Signed-off-by: Greg Kroah-Hartman commit 96bde06a2df1b363206d3cdef53134b84ff37813 Author: Sam Ravnborg Date: Mon Mar 26 21:53:30 2007 -0800 pci: do not mark exported functions as __devinit Functions marked __devinit will be removed after kernel init. But being exported they are potentially called by a module much later. So the safer choice seems to be to keep the function even in the non CONFIG_HOTPLUG case. This silence the follwoing section mismatch warnings: WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_add_device from __ksymtab_gpl between '__ksymtab_pci_bus_add_device' (at offset 0x20) and '__ksymtab_pci_walk_bus' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_create_bus from __ksymtab_gpl between '__ksymtab_pci_create_bus' (at offset 0x40) and '__ksymtab_pci_stop_bus_device' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_max_busnr from __ksymtab_gpl between '__ksymtab_pci_bus_max_busnr' (at offset 0xc0) and '__ksymtab_pci_assign_resource_fixed' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_claim_resource from __ksymtab_gpl between '__ksymtab_pci_claim_resource' (at offset 0xe0) and '__ksymtab_pcie_port_bus_type' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_add_devices from __ksymtab between '__ksymtab_pci_bus_add_devices' (at offset 0x70) and '__ksymtab_pci_bus_alloc_resource' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_scan_bus_parented from __ksymtab between '__ksymtab_pci_scan_bus_parented' (at offset 0x90) and '__ksymtab_pci_root_buses' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_assign_resources from __ksymtab between '__ksymtab_pci_bus_assign_resources' (at offset 0x4d0) and '__ksymtab_pci_bus_size_bridges' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:pci_bus_size_bridges from __ksymtab between '__ksymtab_pci_bus_size_bridges' (at offset 0x4e0) and '__ksymtab_pci_setup_cardbus' Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6ba186361ed2cda7e174856a3ab8a8e3237b3c3d Author: Jean Delvare Date: Sat Apr 7 17:21:28 2007 +0200 PCI: Require vendor and device for new_id Currently, there is no minimum number of fields required when adding a new device ID to a PCI driver through the new_id sysfs file. It is possible to add a new ID with only the vendor ID set, causing the driver to attempt to attach to all PCI devices from that vendor. This has been reported to happen accidentally: http://lists.lm-sensors.org/pipermail/lm-sensors/2007-March/019366.html It is even possible to not even set the vendor ID field, causing the driver to attempt to attach to _all_ the PCI devices. This sounds dangerous and I fail to see any valid use of this "feature". Thus I suggest that we now require at least the first two fields (vendor ID and device ID) to be set. For what it's worth, this is what the USB subsystem does. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 40ee9e9f8d52d85f2446bbdda7823a3f1de62f3f Author: Jesse Barnes Date: Sat Mar 24 11:03:32 2007 -0700 PCI: fix sysfs rom file creation for BIOS ROM shadows At one time, if a BIOS ROM shadow was detected for the boot video device (stored at offset 0xc0000), we'd set a special resource flag, IORESOURCE_ROM_SHADOW, so that the sysfs ROM file code could handle it properly. That broke along the way somewhere though, so current kernels will be missing 'rom' files in sysfs if the video device doesn't have an explicit ROM BAR. This patch fixes the regression by moving the video fixup quirk to a little later in the boot cycle (to avoid having its work undone by PCI resource allocation) and checking in the PCI sysfs code whether a rom file should be created due to a shadow resource, which is also moved to a little later in the boot cycle so it will occur after the video fixup. Tested and works on my i386 test box. Signed-off-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit 8d7d86e9bd377e5779bf3c8da03b27d823c039b4 Author: Randy Dunlap Date: Fri Mar 16 19:55:52 2007 -0700 PCI: kernel-doc fix Warning(linux-2621-rc3g7/drivers/pci/pci.c:1283): No description found for parameter 'dev' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 6473d160b4aba8023bcf38519a5989694dfd51a7 Author: Jean Delvare Date: Tue Mar 6 02:45:12 2007 -0800 PCI: Cleanup the includes of I noticed that many source files include while they do not appear to need it. Here is an attempt to clean it all up. In order to find all possibly affected files, I searched for all files including but without any other occurence of "pci" or "PCI". I removed the include statement from all of these, then I compiled an allmodconfig kernel on both i386 and x86_64 and fixed the false positives manually. My tests covered 66% of the affected files, so there could be false positives remaining. Untested files are: arch/alpha/kernel/err_common.c arch/alpha/kernel/err_ev6.c arch/alpha/kernel/err_ev7.c arch/ia64/sn/kernel/huberror.c arch/ia64/sn/kernel/xpnet.c arch/m68knommu/kernel/dma.c arch/mips/lib/iomap.c arch/powerpc/platforms/pseries/ras.c arch/ppc/8260_io/enet.c arch/ppc/8260_io/fcc_enet.c arch/ppc/8xx_io/enet.c arch/ppc/syslib/ppc4xx_sgdma.c arch/sh64/mach-cayman/iomap.c arch/xtensa/kernel/xtensa_ksyms.c arch/xtensa/platform-iss/setup.c drivers/i2c/busses/i2c-at91.c drivers/i2c/busses/i2c-mpc.c drivers/media/video/saa711x.c drivers/misc/hdpuftrs/hdpu_cpustate.c drivers/misc/hdpuftrs/hdpu_nexus.c drivers/net/au1000_eth.c drivers/net/fec_8xx/fec_main.c drivers/net/fec_8xx/fec_mii.c drivers/net/fs_enet/fs_enet-main.c drivers/net/fs_enet/mac-fcc.c drivers/net/fs_enet/mac-fec.c drivers/net/fs_enet/mac-scc.c drivers/net/fs_enet/mii-bitbang.c drivers/net/fs_enet/mii-fec.c drivers/net/ibm_emac/ibm_emac_core.c drivers/net/lasi_82596.c drivers/parisc/hppb.c drivers/sbus/sbus.c drivers/video/g364fb.c drivers/video/platinumfb.c drivers/video/stifb.c drivers/video/valkyriefb.c include/asm-arm/arch-ixp4xx/dma.h sound/oss/au1550_ac97.c I would welcome test reports for these files. I am fine with removing the untested files from the patch if the general opinion is that these changes aren't safe. The tested part would still be nice to have. Note that this patch depends on another header fixup patch I submitted to LKML yesterday: [PATCH] scatterlist.h needs types.h http://lkml.org/lkml/2007/3/01/141 Signed-off-by: Jean Delvare Cc: Badari Pulavarty Signed-off-by: Greg Kroah-Hartman commit a9dfd281a7e12f6d9b53b5a28649b3a3c76a70e6 Author: Jean Delvare Date: Tue Mar 6 02:45:12 2007 -0800 PCI: scatterlist.h needs types.h Most architectures' scatterlist.h use the type dma_addr_t, but omit to include which defines it. This could lead to build failures, so let's add the missing includes. Signed-off-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e325e1f0783382298141c74737712637943c6063 Author: Kristen Carlson Accardi Date: Wed Mar 21 11:45:31 2007 -0700 PCI: fix multiple definition of `queue_pushbutton_work' Fix duplicate names in shpchp and pciehp. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 9233352628bc8e284f66fc90c4dc74473db1fbc1 Author: Kenji Kaneshige Date: Tue Mar 6 15:02:32 2007 -0800 pciehp: Adapt to device driver model This patch adapts PCIEHP driver to PCI device driver model. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 5d386e1ac4025b4bcc6bad6811e771cb76064dfe Author: Kenji Kaneshige Date: Tue Mar 6 15:02:26 2007 -0800 pciehp: Event handling rework The event handler of PCIEHP driver is unnecessarily very complex. In addition, current event handler can only a fixed number of events at the same time, and some of events would be lost if several number of events happened at the same time. This patch simplify the event handler using 'work queue', and it also fix the above-mentioned issue. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit f7bdd12d234d9064bd0aa1b5610508959120a9b4 Author: Brian King Date: Fri Apr 6 16:39:36 2007 -0500 pci: New PCI-E reset API Adds a new API which can be used to issue various types of PCI-E reset, including PCI-E warm reset and PCI-E hot reset. This is needed for an ipr PCI-E adapter which does not properly implement BIST. Running BIST on this adapter results in PCI-E errors. The only reliable reset mechanism that exists on this hardware is PCI Fundamental reset (warm reset). Since driving this type of reset is architecture unique, this provides the necessary hooks for architectures to add this support. Signed-off-by: Brian King Acked-by: Linas Vepstas Signed-off-by: Greg Kroah-Hartman commit 988cbb15e00e6f924d052874b40c6a5447f9fdd7 Author: Mitch Williams Date: Fri Mar 30 11:54:08 2007 -0700 PCI: Flush MSI-X table writes This patch fixes a kernel bug which is triggered when using the irqbalance daemon with MSI-X hardware. Because both MSI-X interrupt messages and MSI-X table writes are posted, it's possible for them to cross while in-flight. This results in interrupts being received long after the kernel thinks they're disabled, and in interrupts being sent to stale vectors after rebalancing. This patch performs a read flush after writes to the MSI-X table for mask and unmask operations. Since the SMP affinity is set while the interrupt is masked, and since it's unmasked immediately after, no additional flushes are required in the various affinity setting routines. This patch has been validated with (unreleased) network hardware which uses MSI-X. Revised with input from Eric Biederman. Signed-off-by: Mitch Williams Acked-by: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit 823bccfc4002296ba88c3ad0f049e1abd8108d30 Author: Greg Kroah-Hartman Date: Fri Apr 13 13:15:19 2007 -0700 remove "struct subsystem" as it is no longer needed We need to work on cleaning up the relationship between kobjects, ksets and ktypes. The removal of 'struct subsystem' is the first step of this, especially as it is not really needed at all. Thanks to Kay for fixing the bugs in this patch. Signed-off-by: Greg Kroah-Hartman commit 2609e7b9bebfd433254c02538ba803dc516ff674 Author: Randy Dunlap Date: Mon Apr 30 17:55:03 2007 -0700 sysfs: printk format warning Fix sysfs printk format warning: fs/sysfs/bin.c:62: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 3265b54556b2d8ed4e9612b08edb592b60205c40 Author: Rolf Eike Beer Date: Tue May 1 11:00:19 2007 +0200 DOC: Fix wrong identifier name in Documentation/driver-model/devres.txt Above and below we talk about my_midlayer_create_something, I assume that is also meant here. Signed-off-by: Rolf Eike Beer Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dc4c15d44b2b43279b2667baa7645c65c2ff960e Author: Jean Delvare Date: Wed May 2 20:55:54 2007 +0200 platform: reorder platform_device_del In platform_device_del(), we currently delete the device resources first, then we delete the device itself. This causes a (minor) bug to occur when one unregisters a platform device before unregistering its platform driver, and the driver is requesting (in .probe()) and releasing (in .remove()) a resource of the device. The device resources are already gone by the time the driver gets the chance to release the resources it had been requesting, causing an error like: Trying to free nonexistent resource <0000000000000295-0000000000000296> If the platform driver is unregistered first, the problem doesn't occur, as the driver will have the opportunity to release the resources it had requested before the device resources themselves are released. It's a bit odd that unregistering the driver first or the device first doesn't lead to the same result. So I believe that we should delete the device first in platform_device_del(). I've searched the git history and found that it used to be the case before 2.6.8, but was changed here: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commitdiff;h=96ef7b3689936ee1e64b711511342026a8ce459c > 2004/07/14 16:09:44-07:00 dtor_core > [PATCH] Driver core: Fix OOPS in device_platform_unregister > > Driver core: platform_device_unregister should release resources first > and only then call device_unregister, otherwise if there > are no more references to the device it will be freed and > the fucntion will try to access freed memory. However we now have an explicit call to put_device() at the end of platform_device_unregister() so I guess the original problem no longer exists and it is safe to revert that change. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit c7308c81a8220ab68eebfadde37db881a2800064 Author: Greg Kroah-Hartman Date: Wed May 2 14:14:11 2007 +0200 Driver core: fix show_uevent from taking up way too much stack Declaring an array of PAGE_SIZE does bad things for people running with 4k stacks... Thanks to Tilman Schmidt for tracking this down. Cc: Tilman Schmidt Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9315f130e11249457f5c3a7f74ee82a7065bd854 Author: Mark Fasheh Date: Tue May 1 17:44:20 2007 -0700 ocfs2: Force use of GFP_NOFS in ocfs2_write() We can otherwise recurse into the file system. Signed-off-by: Mark Fasheh commit 5fdf1e677127cb460c38733b9586b772d657be43 Author: Mark Fasheh Date: Fri Apr 27 16:50:03 2007 -0700 ocfs2: fix sparse warnings in fs/ocfs2/cluster Signed-off-by: Mark Fasheh commit a7d25539fdd43fe962a0654542ba96e889ac62b5 Author: Mark Fasheh Date: Fri Apr 27 16:49:20 2007 -0700 ocfs2: fix sparse warnings in fs/ocfs2/dlm Signed-off-by: Mark Fasheh commit 1ca1a111b1e6be843c9ce5245dcd570312998d94 Author: Mark Fasheh Date: Fri Apr 27 16:01:25 2007 -0700 ocfs2: fix sparse warnings in fs/ocfs2 None of these are actually harmful, but the noise makes looking for real problems difficult. Signed-off-by: Mark Fasheh commit 6e4b0d5692cd27d3c9be893a9f5939a9cafbb09f Author: Jan Kara Date: Fri Apr 27 11:08:01 2007 -0700 [PATCH] Copy i_flags to ocfs2 inode flags on write Propagate flags such as S_APPEND, S_IMMUTABLE, etc. from i_flags into ocfs2-specific ip_attr. Hence, when someone sets these flags via a different interface than ioctl, they are stored correctly. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 5c2c9d383ef7f7cfc02d6355798b95988de359b4 Author: Milind Arun Choudhary Date: Thu Apr 26 00:29:35 2007 -0700 [PATCH] ocfs2: use __set_current_state() use __set_current_state(TASK_*) instead of current->state = TASK_*, in fs/ocfs2 Signed-off-by: Milind Arun Choudhary Signed-off-by: Andrew Morton Signed-off-by: Mark Fasheh commit ee19a77956cb65c5da54d85a5efefe50b39fa6e5 Author: Joel Becker Date: Wed Mar 28 18:27:07 2007 -0700 ocfs2: Wrap access of directory allocations with ip_alloc_sem. OCFS2_I(inode)->ip_alloc_sem is a read-write semaphore protecting local concurrent access of ocfs2 inodes. However, ocfs2 directories were not taking the semaphore while they accessed or modified the allocation tree. ocfs2_extend_dir() needs to take the semaphore in a write mode when it adds to the allocation. All other directory users get there via ocfs2_bread(), which takes the semaphore in read mode. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6cb129f5675c39944e5fe18fd2530a2eb771b754 Author: Adrian Bunk Date: Thu Apr 26 00:29:35 2007 -0700 [PATCH] fs/ocfs2/: make 3 functions static This patch makes the following needlessly global functions static: - aops.c: ocfs2_write_data_page() - dlmglue.c: ocfs2_dump_meta_lvb_info() - file.c: ocfs2_set_inode_size() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Mark Fasheh commit 586d232b191b776a1c6d51c10c662b8b3e238fdf Author: Mark Fasheh Date: Fri Mar 9 15:56:28 2007 -0800 ocfs2: Implement compat_ioctl() We need this to support 32 bit system calls on 64 bit kernels. Signed-off-by: Mark Fasheh commit 04c58f8196b386948abf68128605de3d2db3c6ba Author: Andy Green Date: Wed May 2 12:49:06 2007 +0100 kbuild: scripts/basic/fixdep segfault on pathological string-o-death build scripts: fixdep blows segfault on string CONFIG_MODULE seen The string "CONFIG_MODULE" appearing anywhere in a source file causes fixdep to segfault. This string appeared in the wild in the current mISDN sources (I think they meant CONFIG_MODULES). But it shouldn't segfault (esp as CONFIG_MODULE appeared in a quoted string). Signed-off-by: Andy Green Signed-off-by: Sam Ravnborg commit 1e093ecd4a850ad61b93d84c221e342a67ea9d56 Author: Robert P. J. Day Date: Mon Apr 30 15:44:27 2007 -0400 kconfig: correct minor typo in Kconfig warning message. Correct a minor spelling mistake in a Kconfig warning message. Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit 39f5fb30351efa9d6f6e22754c222354fa2b7e1e Author: Alexander E. Patrakov Date: Fri Mar 16 18:28:43 2007 +0500 kconfig: fix path to modules.txt in Kconfig help Documentation/modules.txt doesn't exist, but Documentation/kbuild/modules.txt does. Signed-off-by: Alexander E. Patrakov Signed-off-by: Sam Ravnborg commit 0979f378e4f8bd8896bd63179d9a9dce501616dc Author: Alexander E. Patrakov Date: Fri Mar 16 18:01:45 2007 +0500 usr/Kconfig: fix typo Signed-off-by: Alexander E. Patrakov Signed-off-by: Sam Ravnborg commit f15a3ccdc800cef08b346fef5f96860a05e7a3fa Author: Randy Dunlap Date: Wed Apr 11 08:44:12 2007 -0700 kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs' Make docbook index.html contain sorted output. I prefer to let the computer do it. This also avoids people not reading the comment(s). Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 7ac1c145250adaccf4dbde77a8f811e937aa43c8 Author: Randy Dunlap Date: Wed Apr 4 21:58:41 2007 -0700 kbuild: be more explicit on missing .config file Somewhat in reponse to kernel bugzilla #8197, be more explicit about why 'make all' fails when there is no .config file. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 6e5a5420b7cdac356efbdc7832e90a805670b889 Author: Robert P. J. Day Date: Tue May 1 23:08:11 2007 +0200 kbuild: clarify the creation of the LOCALVERSION_AUTO string. Clarify the creation of the LOCALVERSION_AUTO string during kernel configuration, and fix a couple typoes while we're there. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit eda890af7959a79ab10a7a8ae979dadcdba41c58 Author: Michael Ellerman Date: Mon Apr 30 15:34:15 2007 +1000 kbuild: propagate errors from find in scripts/gen_initramfs_list.sh If the find(1) in scripts/gen_initramfs_list.sh generates any errors, it will cause gen_initramfs_list.sh to fail (because of "set -e"), however the errors from find are not printed to the user. This is rather confusing: ~/src/powerpc$ make O=~/build/powerpc-cell32/ make[2]: *** [usr/initramfs_data.cpio.gz] Error 1 make[1]: *** [usr] Error 2 make[1]: *** Waiting for unfinished jobs.... make[1]: *** wait: No child processes. Stop. make: *** [_all] Error 2 It is much easier to work out what the problem is if we let the errors from find hit the console, eg: ~/src/powerpc$ make O=~/build/powerpc-cell32/ find: /home/michael/initramfs-source/home: Permission denied find: /home/michael/initramfs-source/lost+found: Permission denied find: /home/michael/initramfs-source/opt: Permission denied find: /home/michael/initramfs-source/root: Permission denied make[2]: *** [usr/initramfs_data.cpio.gz] Error 1 make[1]: *** [usr] Error 2 make[1]: *** Waiting for unfinished jobs.... make[1]: *** wait: No child processes. Stop. make: *** [_all] Error 2 Signed-off-by: Michael Ellerman Signed-off-by: Sam Ravnborg commit 9ae57004ca9c38ff8292c38a475c98b0ebbc0d74 Author: Sam Ravnborg Date: Sun Apr 29 21:01:52 2007 +0200 kconfig: refer to qt3 if we cannot find qt libraries We do not support qt4 (yet) so the simple fix was to warn that qt3 are missing. The better fix would have been to implment qt4 support but that has failed so far. This solves http://bugzilla.kernel.org/show_bug.cgi?id=8277 Signed-off-by: Sam Ravnborg commit c299ec2d8e8d2f1a99d5c993fca485257b950d40 Author: Alex Landau Date: Thu Apr 26 00:17:29 2007 -0700 kbuild: handle compressed cpio initramfs-es Make kbuild handle compressed cpio initramfs-es. An already compressed cpio is copied directly to usr/, while a non-compressed cpio is filtered through gzip (no changes here) on its way to usr/. If the user has created a compressed cpio by other means, this saves him from uncompressing it, just to be compressed again by kbuild. Signed-off-by: Alex Landau Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit b4d5171ac7d9806b1ea61903ff954cd9620135bf Author: Sam Ravnborg Date: Sun Apr 29 20:53:01 2007 +0200 kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text Added on request from: Rusty Russell Signed-off-by: Sam Ravnborg Cc: Rusty Russell commit 66bd32e443203735b00f22bede637ec98f3070ca Author: Sam Ravnborg Date: Sun Apr 29 20:40:53 2007 +0200 kbuild: remove stale comment in modpost.c Signed-off-by: Sam Ravnborg commit f03e1666d6164da6f098dc1a2e539eced3e4461a Author: Uwe kleine-König Date: Wed Mar 28 16:55:55 2007 +0200 kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE I'm currently using CROSS_COMPILE="ccache arm-linux-". With that the bash builtin command "type" searches for ccache and arm-linux-mkimage and so sets MKIMAGE="/path/to/ccache" as I don't have arm-linux-mkimage. Then the script dies with an error, that ccache doesn't support the argument -A. This patch adds some quoting such that it works again for me. Please note that this patch doesn't help you if you use ${CROSSCOMPILE}-mkimage and ccache as mkuboot.sh now searches for the command "ccache arm-linux-mkimage". Signed-off-by: Uwe Kleine-König Signed-off-by: Sam Ravnborg commit e711db3edfe7c0e32b6430e7d041905f856aa79a Author: Sam Ravnborg Date: Fri Apr 13 23:07:00 2007 +0200 kbuild: fix make mrproper for Documentation/DocBook/man "make mandocs" generate > 2000 files in Documentation/DocBook/man and this caused kbuild to barf out during make mrproper like this: make -f scripts/Makefile.clean obj=Documentation/DocBook make -f scripts/Makefile.clean obj=Documentation/DocBook/man/ make[2]: execvp: /bin/sh: Argument list too long make[2]: *** [__clean] Error 127 make[1]: *** [Documentation/DocBook/man/] Error 2 make: *** [_mrproper_Documentation/DocBook] Error 2 The man directory were solely used for output so the fix is to remove it entirely during the make mrproper process. Signed-off-by: Sam Ravnborg Acked-by: Randy Dunlap commit 145c90475f809060c8601828f14543191e06a0bb Author: Sam Ravnborg Date: Sun Apr 1 23:14:11 2007 +0200 kbuild: remove kconfig binaries during make mrproper Nigel Cunningham noticed that 'make mrproper' did not remove mconf. Fixed so we now remove all relevant binaries. Signed-off-by: Sam Ravnborg Cc: Nigel Cunningham commit d802b50f0d63d2d18d8dae15d7e3285e99e7e7b6 Author: Sam Ravnborg Date: Sun Apr 1 22:29:38 2007 +0200 kconfig/menuconfig: do not hardcode '.config' Export and use the function conf_get_configname() to retreive the default configuration filename. Suggested by: Roman Zippel Signed-off-by: Sam Ravnborg commit 87c94bfb8ad354fb43d2caf870d7ca0b3f98dab3 Author: Sam Ravnborg Date: Sun Apr 1 21:49:27 2007 +0200 kbuild: override build timestamp & version Introduce KBUILD_BUILD_VERSION to make it possible to override kernel build version during build time. Introduce KBUILD_BUILD_TIMESTAMP to make it possible to override kernel build timestamp during build time. But variables are useful mainly by distros that want to pass info from an SCM when building the kernel. Timestamp could be last checkin date for a file etc. The idea came from Olaf Hering Cc: Olaf Hering Signed-off-by: Sam Ravnborg commit b72e53f8bbbec8421316220291d8a8002a5562ba Author: Andreas Dilger Date: Tue Mar 27 15:21:33 2007 -0600 kconfig.debug: clarify CONFIG_DEBUG_INFO help text The following patch adds some extra clarification to the CONFIG_DEBUG_INFO Kconfig help text. The current text is mostly a recursive definition and doesn't really say much of anything. When I first read this I thought it was going to enable extra verbosity in debug messages or something, but it is only enabling the "gcc -g" compile option in the Makefile. Signed-off-by: Andreas Dilger Signed-off-by: Sam Ravnborg commit c53aeca059c4d2108335810fba6ba89ab6a944dd Author: Sam Ravnborg Date: Tue Mar 27 22:50:29 2007 +0200 kbuild: complain about missing system calls Most system calls seems to get added to i386 first. This patch automatically generates a warning for any new system call which is implemented on i386 but not the architecture currently being compiled. On PowerPC at the moment, for example, it results in these warnings: init/missing_syscalls.h:935:3: warning: #warning syscall sync_file_range not implemented init/missing_syscalls.h:947:3: warning: #warning syscall getcpu not implemented init/missing_syscalls.h:950:3: warning: #warning syscall epoll_pwait not implemented The file scripts/checksyscalls.sh list a number of legacy system calls that are ignored because they only makes sense on i386 systems. Other contributors to this patch are Russell King and Stéphane Jourdois Signed-off-by: David Woodhouse Signed-off-by: Sam Ravnborg commit ded2e1640ffaee26c054a42e5210c1086fb1d8eb Author: Anton Blanchard Date: Tue Mar 20 09:47:47 2007 -0500 kbuild: small documentation fix in Documentation/kbuild/modules.txt The Makefile fragment in Documentation/kbuild/modules.txt looks to be missing some braces. Signed-off-by: Anton Blanchard Signed-off-by: Sam Ravnborg commit 4be40e22233cfe6254bbf039ec09a5d7bff2ad14 Author: Sam Ravnborg Date: Tue Mar 20 21:30:23 2007 +0100 kbuild: do not emit src version warning for non-modules modpost is now called with .o files that are not modules. So do not warn if there is no corresponding .mod file listing .o files (in .tmp_versions/). Signed-off-by: Sam Ravnborg commit 95e30f9593ebf39e26227a20ae8d9f160c50fb67 Author: Sam Ravnborg Date: Sun Mar 18 10:48:46 2007 +0100 menuconfig: remember alternate config filename When loading an alternate configuration use that file as current configuration filename. Make the filename visible in the dialog. Default continue to be .config. Inspired by patch from: Cyrill Gorcunov Signed-off-by: Sam Ravnborg Cc: Cyrill Gorcunov commit dd7e54ade8f515ec38d5dc2129705352e2296f8e Author: Don Mullis Date: Thu Jan 4 10:14:52 2007 -0800 kbuild: move tags from ARCH and include/ ahead of drivers Move tags extracted from the ARCH and include/ sub-trees ahead of those from device drivers, so that the former will appear first during searches. Saves user time during interactive searches for certain patterns that happen to find unwanted matches in driver files. Example in emacs: "M-x find-tag PAGE_SIZE" "M-1 M-." (repeated until definition from asm-i386/page.h appears) Signed-off-by: Don Mullis Signed-off-by: Sam Ravnborg commit 2a11665945d510e1a4df8dc44dc3668b01945ade Author: Matthew Wilcox Date: Sat Oct 7 05:35:32 2006 -0600 kbuild: distinguish between errors and warnings in modpost Some of modpost's warnings are fatal, and some are not. Adopt the compiler distinction between errors and warnings by calling merror() for fatal diagnostics and warn() for non-fatal ones. merror() was used as replacemtn for error() to avoid clash with glibc Signed-off-by: Matthew Wilcox Signed-off-by: Sam Ravnborg commit 63431e75691c410819023ab0e6cd047cbfcf64e2 Author: Marco Costalba Date: Thu Oct 5 19:12:59 2006 +0200 kconfig/xconfig: sync main view with search dialog current menu When changing current menu in search dialog update also main view Signed-off-by: Marco Costalba Signed-off-by: Sam Ravnborg commit f88d205501e35195444bdd41983e26546af3f56a Author: Mike Frysinger Date: Sat Mar 17 02:37:07 2007 -0400 menuconfig: dont use obsolete index() function in lxdialog The index() function is obsolete, use strchr() instead. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit 2462566f21a5ecdb2a7e75e09db90ff175b1f748 Author: Uwe Zeisberger Date: Thu Oct 5 16:24:45 2006 +0200 kbuild: add a missing slash in the comments Signed-off-by: Uwe Zeisberger Signed-off-by: Sam Ravnborg commit 6e019b001d27c4289f8e48ebc458e92410446259 Author: H. Peter Anvin Date: Fri Mar 16 14:45:06 2007 -0700 cleanpatch: a script to clean up stealth whitespace added by a patch This script is a companion to the "cleanfile" script. This cleans up a patch in unified diff format *before* it is applied. Note that the empty lines at the end of file detection *requires* that the diff was taken with at least one line of context around each hunk, or bad things will happen. This script cleans up various classes of stealth whitespace. In particular, it cleans up: - Whitespace (spaces or tabs)before newline; - DOS line endings (CR before LF); - Space before tab (spaces are deleted or converted to tabs); - Empty lines at end of file. Signed-off-by: H. Peter Anvin Signed-off-by: Sam Ravnborg commit 12b315603a1eb95b4e4ea3389ba44bd7ded0aa35 Author: H. Peter Anvin Date: Mon Mar 12 12:16:30 2007 -0700 cleanfile: a script to clean up stealth whitespace This script cleans up various classes of stealth whitespace. In particular, it cleans up: - Whitespace (spaces or tabs)before newline; - DOS line endings (CR before LF); - Space before tab (spaces are deleted or converted to tabs); - Empty lines at end of file. Signed-off-by: H. Peter Anvin Signed-off-by: Sam Ravnborg commit dc24f0e708c8a6a27b5b967a2599c04973054398 Author: Sam Ravnborg Date: Fri Mar 9 19:59:06 2007 +0100 kbuild: remove dependency on input.h from file2alias Almost all definitions used by file2alias was already present in mod_devicetable.h. Added the last definition and killed the input.h usage. The errornous include was pointed out by: Jan Engelhardt Signed-off-by: Sam Ravnborg Cc: Jan Engelhardt Cc: Deepak Saxena commit 5a4910fbbeef14cc91daa41086449a1a4acebc96 Author: Sam Ravnborg Date: Tue Feb 27 09:14:58 2007 +0100 kbuild: whitelist logo references from .text to .init.data drivers/video/logo has references from .text to .init.data but function is only used during early init. So reference is OK and we do not want to warn about them => whitelist the reference. Signed-off-by: Sam Ravnborg commit a61b2dfd1823506dbf1f9b046e0b09237ec1b985 Author: Sam Ravnborg Date: Mon Feb 26 19:46:52 2007 +0100 kbuild: fix segmentation fault in modpost If modpost was called manually with filenames without '/' then modpost would segfault. Signed-off-by: Sam Ravnborg commit 9bf8cb9b7908383752b1842eae78269f7e16d9fb Author: Sam Ravnborg Date: Mon Feb 26 17:49:06 2007 +0100 kbuild: fix warnings from .pci_fixup section Now where we do not pass vmlinux to modpost we started to see section mismatch warnings from .pci_fixup. Refactored code a little to include these in the whitelist again. Signed-off-by: Sam Ravnborg commit aae5f662a32c35b1a962627535acb588d48ff5f9 Author: Sam Ravnborg Date: Mon Feb 26 16:45:41 2007 +0100 kbuild: whitelist section mismatch in init/main.c In init/main.c we have a reference from rest_init() to .init.text which is intentional. Rename the function 'init' to 'kernel_init' to make it a kernel wide unique symbol and whitelist the reference. Signed-off-by: Sam Ravnborg commit 85bd2fddd68e757da8e1af98f857f61a3c9ce647 Author: Sam Ravnborg Date: Mon Feb 26 15:33:52 2007 +0100 kbuild: fix section mismatch check for vmlinux vmlinux does not contain relocation entries which is used by the section mismatch checks. Reported by: Atsushi Nemoto Use the individual objects as inputs to overcome this limitation. In modpost check the .o files and skip non-ELF files. Signed-off-by: Sam Ravnborg commit 35060b6a9a4e1c89bc6fbea61090e302dbc61847 Author: Thomas Renninger Date: Wed May 2 19:27:22 2007 +0200 [PATCH] i386: Don't delete cpu_devs data to identify different x86 types in late_initcall In arch/i386/cpu/common.c there is: cpu_devs[X86_VENDOR_INTEL] cpu_devs[X86_VENDOR_CYRIX] cpu_devs[X86_VENDOR_AMD] ... They are all filled with data early. The data (struct) got set to NULL for all, but Intel in different late_initcall (exit_cpu_vendor) calls. I don't see what sense this makes at all, maybe something that got forgotten with the HOTPLUG_CPU extenstions? Please check/review whether initdata, cpuinitdata is still ok and this still works with HOTPLUG_CPU and without, it should... Signed-off-by: Thomas Renninger Signed-off-by: Andi Kleen Cc: davej@redhat.com commit a3193348d407baaa7aef79decfa0e9a7fef74a17 Author: David Rientjes Date: Wed May 2 19:27:22 2007 +0200 [PATCH] i386: type may be unused In the case of !CONFIG_PCI_DIRECT && !CONFIG_PCI_MMCONFIG, type is unreferened. Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andi Kleen commit b5229dbb857f61d77d8d4048d9033387a5411b8e Author: Olivier Galibert Date: Wed May 2 19:27:22 2007 +0200 [PATCH] i386: Some additional chipset register values validation. On i945, a mmconfig range hitting the f0000000-ffffffff zone conflicts with the APIC registers and others. Consider it invalid. On E7520, values 0000 and f000 for the window register are defined invalid in the documentation. I haven't seen a bios use these values, but who trusts biosen these days? Signed-off-by: Olivier Galibert Signed-off-by: Andi Kleen arch/i386/pci/mmconfig-shared.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) commit 6c2af35820f100bde7b9de8a00a76faa7af6bede Author: Bill Irwin Date: Wed May 2 19:27:22 2007 +0200 [PATCH] i386: Add missing !X86_PAE dependincy to the 2G/2G split. Only 1GB-aligned kernel/user splits are now handled for PAE. The 2GB/2GB split attempts to avoid aliasing vmallocspace with the 1:1 mapping for physical memory by using an actual split of 1.875/2.125 to accommodate 128MB of vmallocspace out of what would otherwise be a full 2GB for userspace. That attempt disturbs the alignment required by PAE for 2GB/2GB splits, and furthermore does not provide a 2GB/2GB split as advertised. This patch resolves the issues here in two manners. The first is by providing a true 2GB/2GB split in addition to the 1.875/2.125 split. The second is by renaming the 1.875/2.125 split to CONFIG_VMSPLIT_2G_OPT analogously to CONFIG_VMSPLIT_3G_OPT, which performs a similar manuever to avoid aliasing vmallocspace with the 1:1 mapping for physical memory around the 3GB boundary. With the 1.875/2.125 split properly-named, its config option is then tagged as depending on !HIGHMEM to express the PAE implementation's current inability to deal with such unaligned splits. This patch is essentially a combination of two patches, one written by Eric Biederman and the other by Eric Dumazet. If they could add their Signed-off-by: to this, I'd be much obliged. Signed-off-by: William Irwin Signed-off-by: Andi Kleen Cc: Eric Dumazet Cc: Mark Lord Cc: Eric W. Biederman Cc: Andi Kleen commit b466004a660c490f3bfb12be8b5ca18bfc393261 Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] x86-64: Don't exclude asm-offsets.c in Documentation/dontdiff asm-offsets.c is valid source code and needs to be diffed. Signed-off-by: Andi Kleen commit c41bf8fa5e777b6a8a19cf2484937a7167eac77f Author: Jan Kiszka Date: Wed May 2 19:27:21 2007 +0200 [PATCH] i386: avoid redundant preempt_disable in __unlazy_fpu There are two callers of __unlazy_fpu, unlazy_fpu and __switch_to, and none of them appear to require additional preempt_disable/enable here. Let's open-code save_init_fpu in __unlazy_fpu to save a few ops. Signed-off-by: Jan Kiszka Signed-off-by: Andi Kleen commit 02b64dab5675bc08048c7f70cbb0d8a417d20dbe Author: Jan Kiszka Date: Wed May 2 19:27:21 2007 +0200 [PATCH] i386: white space fixes in i387.h Signed-off-by: Jan Kiszka Signed-off-by: Andi Kleen commit 1306383282aaf58e85e5461404db367be0f88dca Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] i386: Drop noisy e820 debugging printks Signed-off-by: Andi Kleen commit f19cccf366a07e05703c90038704a3a5ffcb0607 Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] x86-64: Fix allnoconfig error in genapic_flat.c Fix: In file included from include2/asm/apic.h:5, from include2/asm/smp.h:15, from linux/arch/x86_64/kernel/genapic_flat.c:18: linux/include/linux/pm.h: In function ‘call_platform_enable_wakeup’: linux/include/linux/pm.h:331: error: ‘EIO’ undeclared (first use in this function) linux/include/linux/pm.h:331: error: (Each undeclared identifier is reported only once linux/include/linux/pm.h:331: error: for each function it appears in.) Signed-off-by: Andi Kleen commit 2724b6db663a4efb69462ff6eb8f88d7528cace3 Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] x86-64: Shut up warnings for vfat compat ioctls on other file systems vfat implements compat handlers for these ioctls, but when they were executed on other file systems the kernel would still complain about an unknown compat ioctl. Just declare them as compatible and let them be rejected when not needed by the normal path. This makes wine runs a lot quieter Signed-off-by: Andi Kleen commit fac15a8e4d4c36eb4676bfd2c30ea16ad05c401a Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] x86-64: Share identical video.S between i386 and x86-64 Signed-off-by: Andi Kleen commit 2136220d00d84e5dd923f23552f75b1864a76f21 Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] x86-64: Remove CONFIG_REORDER The option never worked well and functionlist wasn't well maintained. Also it made the build very slow on many binutils version. So just remove it. Cc: arjan@linux.intel.com Signed-off-by: Andi Kleen commit a106009bdfa12b6452b724cc0718ca8e1334745d Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] x86-64: Print type and size correctly for unknown compat ioctls Signed-off-by: Andi Kleen commit c812d6c198c5f39a6ea22a9a12d518cd3714af16 Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] i386: Remove copy_*_user BUG_ONs for (size < 0) access_ok checks this case anyways, no need to check twice. Signed-off-by: Andi Kleen commit ec1180db2ca2ec8692ce101560eff9eedf561781 Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] i386: Little cleanups in smpboot.c - Remove #if that is always set - Fix warning Signed-off-by: Andi Kleen commit 3bea9c9793a17053e05d970e5d90d48fc9fce07d Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] x86-64: Don't enable NUMA for a single node in K8 NUMA scanning This was supposed to see the full memory on a ASUS A8SX motherboard with 4GB RAM where the northbridge reports less memory, but it didn't help there. But it's a reasonable change so let's include it anyways. Signed-off-by: Andi Kleen commit c5bcb5635a03da3158f121ae20ccbbf72b4fc62a Author: Andi Kleen Date: Wed May 2 19:27:21 2007 +0200 [PATCH] x86: Use RDTSCP for synchronous get_cycles if possible RDTSCP is already synchronous and doesn't need an explicit CPUID. This is a little faster and more importantly avoids VMEXITs on Hypervisors. Original patch from Joerg Roedel, but reworked by AK Also includes miscompilation fix by Eric Biederman Cc: "Joerg Roedel" Signed-off-by: Andi Kleen commit 9bccb23dc5fc2d268ab676e2d4212d29e230fd86 Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] i386: Add X86_FEATURE_RDTSCP Following x86-64 Signed-off-by: Andi Kleen commit 3aefbe0746580a710d4392a884ac1e4aac7c728f Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] i386: Implement X86_FEATURE_SYNC_RDTSC on i386 Syncs up with x86-64. Signed-off-by: Andi Kleen commit e859dc553c857f4672b3bbb73ee9170a901f8712 Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] i386: Implement alternative_io for i386 Ported from x86-64. Signed-off-by: Andi Kleen commit 3671df8572a299acff9c9cac2bf7279ee614d154 Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] i386: Evaluate constant cpu features at runtime Redefine cpu_has() to evaluate cpu features already checked in early boot at compile time. This way the compiler might eliminate some dead code. Signed-off-by: Andi Kleen commit c7f81c9453375d6416658995eafd3397cb9bba1d Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] i386: Verify important CPUID bits in real mode Check some CPUID bits that are needed for compiler generated early in boot. When the system is still in real mode before changing the VESA BIOS mode it is possible to still display an visible error message on the screen. Similar to x86-64. Includes cleanups from Eric Biederman Signed-off-by: Andi Kleen commit 484ad393659f20d784a3a93613fb3fd3d9f171fa Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] i386: Drop -traditional in arch/i386/boot Needed for followon patch Signed-off-by: Andi Kleen commit fa0a00910925fdbd3a528404a47817b3a9fda5be Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] x86-64: Drop -traditional for arch/x86_64/boot Follows i386 and useful cleanup. Signed-off-by: Andi Kleen commit 72b1b1d0133d7eb4040697f1052bf92123fb051b Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] x86-64: Use symbolic CPU features in early CPUID check Dead to magic numbers! Generated code is the same. Signed-off-by: Andi Kleen commit 4637a74cf2ac3a3696d385c8624d84de789d1bbe Author: David P. Reed Date: Wed May 2 19:27:20 2007 +0200 [PATCH] x86-64: Avoid overflows during apic timer calibration - Use 64bit TSC calculations to avoid handling overflow - Use 32bit unsigned arithmetic for the APIC timer. This way overflows are handled correctly. - Fix exit check of loop to account for apic timer counting down Signed-off-by: dpreed@reed.com Signed-off-by: Andi Kleen commit 9d016dd43b8df0228f1022f483f582eeb52d256e Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] x86-64: Shut up 32bit emulation for SIOCGIFCOUNT The kernel doesn't implement it, but some programs like java use it anyways. Shut the code up. Signed-off-by: Andi Kleen commit 421f028100cbef0ba15086d63cad87fb6e5c3da9 Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] x86-64: Define IGNORE_IOCTL() macro for compat_ioctls Define a new IGNORE_IOCTL() to let a compat ioctl not be warned about even when it is not implemented. This is the same as COMPATIBLE_IOCTL internally, but better self documentng. Valid reasons to use this: - It is implemented with ->compat_ioctl on some device, but programs call it on others too. - The ioctl is not implemented in the native kernel, but programs call it commonly anyways. Most other reasons are not valid. Signed-off-by: Andi Kleen commit 05cb007dac9a50148daf87d0b9469e0cd05fd5e7 Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] x86-64: Use the 32bit wd_ops for 64bit too. This mainly removes a lot of code, replacing it with calls into the new 32bit perfctr-watchdog.c Signed-off-by: Andi Kleen commit 09198e68501a7e34737cd9264d266f42429abcdc Author: Andi Kleen Date: Wed May 2 19:27:20 2007 +0200 [PATCH] i386: Clean up NMI watchdog code - Introduce a wd_ops structure - Convert the various nmi watchdogs over to it - This allows to split the perfctr reservation from the watchdog setup cleanly. - Do perfctr reservation globally as it should have always been - Remove dead code referenced only by unused EXPORT_SYMBOLs Signed-off-by: Andi Kleen commit e3f1caeef9a70b0699518092d653c15274b025ab Author: Suresh Siddha Date: Wed May 2 19:27:20 2007 +0200 [PATCH] x86-64: set node_possible_map at runtime - try 2 Set the node_possible_map at runtime on x86_64. On a non NUMA system, num_possible_nodes() will now say '1'. Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Eric Dumazet Cc: David Rientjes Cc: Christoph Lameter commit 8a336b0a4b6dfacc8cc5fd617ba1e1904077de2d Author: Tim Hockin Date: Wed May 2 19:27:19 2007 +0200 [PATCH] x86-64: Dynamically adjust machine check interval Background: We've found that MCEs (specifically DRAM SBEs) tend to come in bunches, especially when we are trying really hard to stress the system out. The current MCE poller uses a static interval which does not care whether it has or has not found MCEs recently. Description: This patch makes the MCE poller adjust the polling interval dynamically. If we find an MCE, poll 2x faster (down to 10 ms). When we stop finding MCEs, poll 2x slower (up to check_interval seconds). The check_interval tunable becomes the max polling interval. The "Machine check events logged" printk() is rate limited to the check_interval, which should be identical behavior to the old functionality. Result: If you start to take a lot of correctable errors (not exceptions), you log them faster and more accurately (less chance of overflowing the MCA registers). If you don't take a lot of errors, you will see no change. Alternatives: I considered simply reducing the polling interval to 10 ms immediately and keeping it there as long as we continue to find errors. This felt a bit heavy handed, but does perform significantly better for the default check_interval of 5 minutes (we're using a few seconds when testing for DRAM errors). I could be convinced to go with this, if anyone felt it was not too aggressive. Testing: I used an error-injecting DIMM to create lots of correctable DRAM errors and verified that the polling interval accelerates. The printk() only happens once per check_interval seconds. Patch: This patch is against 2.6.21-rc7. Signed-Off-By: Tim Hockin Signed-off-by: Andi Kleen commit f82af20e1a028e16b9bb11da081fa1148d40fa6a Author: Gerd Hoffmann Date: Wed May 2 19:27:19 2007 +0200 [PATCH] x86-64: ignore vgacon if hardware not present Avoid trying to set up vgacon if there's no vga hardware present. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Alan Acked-by: Ingo Molnar commit 889f21ce272e38db19c8114a7e0a5793d4590077 Author: Andi Kleen Date: Wed May 2 19:27:19 2007 +0200 [PATCH] i386: fix wrong comment for syscall stack layout `ret_from_sys_call' label no longer exist and `syscall_exit' label was introduced instead. Signed-off-by: Satoru Takeuchi Signed-off-by: Andi Kleen commit 425001fea782dd072cfec5694b93778eb59a1fd3 Author: Andrew Morton Date: Wed May 2 19:27:19 2007 +0200 [PATCH] x86-64: unexport cpu_llc_id WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:cpu_llc_id from __ksymtab between '__ksymtab_cpu_llc_id' (at offset 0x4a0) and '__ksymtab_smp_num_siblings' It is strange to export a __cpuinitdata symbols to modules, and no module appears to use it anyway. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit f26d6a2bbcf381230df771123578380584004631 Author: Eric W. Biederman Date: Wed May 2 19:27:19 2007 +0200 [PATCH] i386: convert to the kthread API This patch just trivial converts from calling kernel_thread and daemonize to just calling kthread_run. Signed-off-by: Eric W. Biederman Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 9e5e3162b2d5e4466187ecd63c9eec2de33cb7bc Author: Zachary Amsden Date: Wed May 2 19:27:19 2007 +0200 [PATCH] i386: pte simplify ops Add comment and condense code to make use of native_local_ptep_get_and_clear function. Also, it turns out the 2-level and 3-level paging definitions were identical, so move the common definition into pgtable.h Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 142dd975911fdd82b1b6f6617cd20ac90a8ccf00 Author: Zachary Amsden Date: Wed May 2 19:27:19 2007 +0200 [PATCH] i386: pte xchg optimization In situations where page table updates need only be made locally, and there is no cross-processor A/D bit races involved, we need not use the heavyweight xchg instruction to atomically fetch and clear page table entries. Instead, we can just read and clear them directly. This introduces a neat optimization for non-SMP kernels; drop the atomic xchg operations from page table updates. Thanks to Michel Lespinasse for noting this potential optimization. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit c2c1accd4b2f9c82fb89d40611c7f581948db255 Author: Zachary Amsden Date: Wed May 2 19:27:19 2007 +0200 [PATCH] i386: pte clear optimization When exiting from an address space, no special hypervisor notification of page table updates needs to occur; direct page table hypervisors, such as Xen, switch to another address space first (init_mm) and unprotects the page tables to avoid the cost of trapping to the hypervisor for each pte_clear. Shadow mode hypervisors, such as VMI and lhype don't need to do the extra work of calling through paravirt-ops, and can just directly clear the page table entries without notifiying the hypervisor, since all the page tables are about to be freed. So introduce native_pte_clear functions which bypass any paravirt-ops notification. This results in a significant performance win for VMI and removes some indirect calls from zap_pte_range. Note the 3-level paging already had a native_pte_clear function, thus demanding argument conformance and extra args for the 2-level definition. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit df3624aa293dfa2d46089747d919711089a702eb Author: Daniel Walker Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: remove xtime_lock'ing around cpufreq notifier The locking of the xtime_lock around the cpu notifier is unessesary now. At one time the tsc was used after a frequency change for timekeeping, but the re-write of timekeeping no longer uses the TSC unless the frequency is constant. The variables that are changed in this section of code had also once been used for timekeeping, but not any longer .. Signed-off-by: Daniel Walker Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton commit 62918a036148230ba1ad175dc8a0952e3752ac57 Author: Siddha, Suresh B Date: Wed May 2 19:27:18 2007 +0200 [PATCH] x86-64: skip cache_free_alien() on non NUMA Set use_alien_caches to 0 on non NUMA platforms. And avoid calling the cache_free_alien() when use_alien_caches is not set. This will avoid the cache miss that happens while dereferencing slabp to get nodeid. Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Eric Dumazet Cc: David Rientjes Cc: Christoph Lameter Signed-off-by: Andrew Morton commit 57a4f91ae5571edd7c0428285d8df16bb8bf5f40 Author: Andi Kleen Date: Wed May 2 19:27:18 2007 +0200 [PATCH] x86-64: Auto compute __NR_syscall_max at compile time No need to maintain it anymore Signed-off-by: Andi Kleen commit 2f3c30e6a886ddaf65cb74df82c03245050ff0aa Author: Joachim Deguara Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: check capability Currently the i386 architecture checks the family for mce capability and this removes that and uses the CPUID information. Tested on a K8 revE and a family10h processor. This eliminates checking of a set AMD procesor family if mce is allowed and relies on the information being in CPUID. Signed-off-by: Joachim Deguara Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 1bdae4583e7abd2c1daedfc9f46ac6420a26c1b0 Author: Keshavamurthy, Anil S Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: clean up flush_tlb_others fn Cleanup flush_tlb_others(), no functional change. Signed-off-by: Anil S Keshavamurthy Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 62dbc210e2532dec061ca65eeb8bc31b6c898b01 Author: Hisashi Hifumi Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: replace spin_lock_irqsave with spin_lock IRQ is already disabled through local_irq_disable(). So spin_lock_irqsave() can be replaced with spin_lock(). Signed-off-by: Hisashi Hifumi Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit e8a72ffa3aa618fb25b5727c0e0ae939d30d66c0 Author: Keshavamurthy, Anil S Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: avoid checking for cpu gone when CONFIG_HOTPLUG_CPU not defined Avoid checking for cpu gone in mm hot path when CONFIG_HOTPLUG_CPU is not defined. Signed-off-by: Anil S Keshavamurthy Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Gautham R Shenoy Signed-off-by: Andrew Morton commit 141a892f57972b01891df7036f567a70459c19ac Author: Eric Dumazet Date: Wed May 2 19:27:18 2007 +0200 [PATCH] x86-64: move __vgetcpu_mode & __jiffies to the vsyscall_2 zone We apparently hit the 1024 limit of vsyscall_0 zone when some debugging options are set, or if __vsyscall_gtod_data is 64 bytes larger. In order to save 128 bytes from the vsyscall_0 zone, we move __vgetcpu_mode & __jiffies to vsyscall_2 zone where they really belong, since they are used only from vgetcpu() (which is in this vsyscall_2 area). After patch is applied, new layout is : ffffffffff600000 T vgettimeofday ffffffffff60004e t vsysc2 ffffffffff600140 t vread_hpet ffffffffff600150 t vread_tsc ffffffffff600180 D __vsyscall_gtod_data ffffffffff600400 T vtime ffffffffff600413 t vsysc1 ffffffffff600800 T vgetcpu ffffffffff600870 D __vgetcpu_mode ffffffffff600880 D __jiffies ffffffffff600c00 T venosys_1 Signed-off-by: Eric Dumazet Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 0260c196c97e48e4b821031ae55912c22113ed87 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: PARAVIRT: fix startup_ipi_hook config dependency startup_ipi_hook depends on CONFIG_X86_LOCAL_APIC, so move it to the right part of the paravirt_ops initialization. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 25c16b992c32db4bc7e085b763abd866a505ca72 Author: Randy Dunlap Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: fix mtrr sections Fix section mismatch warnings in mtrr code. Fix line length on one source line. WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data: from .text.get_mtrr_state after 'get_mtrr_state' (at offset 0x103) WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text: from .text.get_mtrr_state after 'get_mtrr_state' (at offset 0x180) WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text: from .text.get_mtrr_state after 'get_mtrr_state' (at offset 0x199) WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text: from .text.get_mtrr_state after 'get_mtrr_state' (at offset 0x1c1) Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 70ae77f497a57b3ef6b0987b6310327264517cb0 Author: Fernando Luis [** ISO-8859-1 charset **] VzquezCao Date: Wed May 2 19:27:18 2007 +0200 [PATCH] x86-64: Use safe_apic_wait_icr_idle in __send_IPI_dest_field - x86_64 Use safe_apic_wait_icr_idle to check ICR idle bit if the vector is NMI_VECTOR to avoid potential hangups in the event of crash when kdump tries to stop the other CPUs. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit f5efb41e793ce587836b89b7191083b9a6185ed5 Author: Fernando Luis [** ISO-8859-1 charset **] VzquezCao Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: Use safe_apic_wait_icr_idle in safe_apic_wait_icr_idle - i386 Use safe_apic_wait_icr_idle to check ICR idle bit if the vector is NMI_VECTOR to avoid potential hangups in the event of crash when kdump tries to stop the other CPUs. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit 9062d888aa448318e38792b6879a795dd10adda4 Author: Fernando Luis [** ISO-8859-1 charset **] VzquezCao Date: Wed May 2 19:27:18 2007 +0200 [PATCH] x86-64: __send_IPI_dest_field - x86_64 Implement __send_IPI_dest_field which can be used to send IPIs when the "destination shorthand" field of the ICR is set to 00 (destination field). Use it whenever possible. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit 45ae5e968ea01d8326833ca2863cec5183ce1930 Author: Fernando Luis [** ISO-8859-1 charset **] VzquezCao Date: Wed May 2 19:27:18 2007 +0200 [PATCH] i386: __send_IPI_dest_field - i386 Implement __send_IPI_dest_field which can be used to send IPIs when the "destination shorthand" field of the ICR is set to 00 (destination field). Use it whenever possible. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit 3144c332fa2ee4c4b9804aae5fe31098f04bffd9 Author: Fernando Luis VazquezCao Date: Wed May 2 19:27:17 2007 +0200 [PATCH] x86-64: use safe_apic_wait_icr_idle in smpboot.c - x86_64 inquire_remote_apic is used for APIC debugging, so use safe_apic_wait_icr_idle instead of apic_wait_icr_idle to avoid possible lockups when APIC delivery fails. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit 4312fa8157f5ebdaf36e615cf40f9d7a6137a22c Author: Fernando Luis VazquezCao Date: Wed May 2 19:27:17 2007 +0200 [PATCH] i386: use safe_apic_wait_icr_idle in smpboot.c __inquire_remote_apic is used for APIC debugging, so use safe_apic_wait_icr_idle instead of apic_wait_icr_idle to avoid possible lockups when APIC delivery fails. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit ea8c733b98b73289421ed8f8fc15cfbce3adc3bc Author: Fernando Luis VazquezCao Date: Wed May 2 19:27:17 2007 +0200 [PATCH] x86-64: use safe_apic_wait_icr_idle in smpboot.c - x86_64 The functionality provided by the new safe_apic_wait_icr_idle is being open-coded all over "kernel/smpboot.c". Use safe_apic_wait_icr_idle instead to consolidate code and ease maintenance. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit ae08e43eecd250e50ffa40c4bd62a65e005b875b Author: Fernando Luis VazquezCao Date: Wed May 2 19:27:17 2007 +0200 [PATCH] i386: use safe_apic_wait_icr_idle - i386 The functionality provided by the new safe_apic_wait_icr_idle is being open-coded all over "kernel/smpboot.c". Use safe_apic_wait_icr_idle instead to consolidate code and ease maintenance. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit 8339e9fba33aa3205f541478c413982c0ac5a37f Author: Fernando Luis VazquezCao Date: Wed May 2 19:27:17 2007 +0200 [PATCH] x86-64: safe_apic_wait_icr_idle - x86_64 apic_wait_icr_idle looks like this: static __inline__ void apic_wait_icr_idle(void) { while (apic_read(APIC_ICR) & APIC_ICR_BUSY) cpu_relax(); } The busy loop in this function would not be problematic if the corresponding status bit in the ICR were always updated, but that does not seem to be the case under certain crash scenarios. Kdump uses an IPI to stop the other CPUs in the event of a crash, but when any of the other CPUs are locked-up inside the NMI handler the CPU that sends the IPI will end up looping forever in the ICR check, effectively hard-locking the whole system. Quoting from Intel's "MultiProcessor Specification" (Version 1.4), B-3: "A local APIC unit indicates successful dispatch of an IPI by resetting the Delivery Status bit in the Interrupt Command Register (ICR). The operating system polls the delivery status bit after sending an INIT or STARTUP IPI until the command has been dispatched. A period of 20 microseconds should be sufficient for IPI dispatch to complete under normal operating conditions. If the IPI is not successfully dispatched, the operating system can abort the command. Alternatively, the operating system can retry the IPI by writing the lower 32-bit double word of the ICR. This “time-out” mechanism can be implemented through an external interrupt, if interrupts are enabled on the processor, or through execution of an instruction or time-stamp counter spin loop." Intel's documentation suggests the implementation of a time-out mechanism, which, by the way, is already being open-coded in some parts of the kernel that tinker with ICR. Create a apic_wait_icr_idle replacement that implements the time-out mechanism and that can be used to solve the aforementioned problem. AK: moved both functions out of line AK: Added improved loop from Keith Owens Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit f2b218dd6199983b120a96bc6531c1b81f4090d8 Author: Fernando Luis VazquezCao Date: Wed May 2 19:27:17 2007 +0200 [PATCH] i386: safe_apic_wait_icr_idle - i386 apic_wait_icr_idle looks like this: static __inline__ void apic_wait_icr_idle(void) { while (apic_read(APIC_ICR) & APIC_ICR_BUSY) cpu_relax(); } The busy loop in this function would not be problematic if the corresponding status bit in the ICR were always updated, but that does not seem to be the case under certain crash scenarios. Kdump uses an IPI to stop the other CPUs in the event of a crash, but when any of the other CPUs are locked-up inside the NMI handler the CPU that sends the IPI will end up looping forever in the ICR check, effectively hard-locking the whole system. Quoting from Intel's "MultiProcessor Specification" (Version 1.4), B-3: "A local APIC unit indicates successful dispatch of an IPI by resetting the Delivery Status bit in the Interrupt Command Register (ICR). The operating system polls the delivery status bit after sending an INIT or STARTUP IPI until the command has been dispatched. A period of 20 microseconds should be sufficient for IPI dispatch to complete under normal operating conditions. If the IPI is not successfully dispatched, the operating system can abort the command. Alternatively, the operating system can retry the IPI by writing the lower 32-bit double word of the ICR. This “time-out” mechanism can be implemented through an external interrupt, if interrupts are enabled on the processor, or through execution of an instruction or time-stamp counter spin loop." Intel's documentation suggests the implementation of a time-out mechanism, which, by the way, is already being open-coded in some parts of the kernel that tinker with ICR. Create a apic_wait_icr_idle replacement that implements the time-out mechanism and that can be used to solve the aforementioned problem. AK: moved both functions out of line AK: added improved loop from Keith Owens Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Andi Kleen commit de938c51d5fec4ae03af64b06beb15d4423ec611 Author: Bernhard Kaindl Date: Wed May 2 19:27:17 2007 +0200 [PATCH] i386: Enable support for fixed-range IORRs to keep RdMem & WrMem in sync If our copy of the MTRRs of the BSP has RdMem or WrMem set, and we are running on an AMD64/K8 system, the boot CPU must have had MtrrFixDramEn and MtrrFixDramModEn set (otherwise our RDMSR would have copied these bits cleared), so we set them on this CPU as well. This allows us to keep the AMD64/K8 RdMem and WrMem bits in sync across the CPUs of SMP systems in order to fullfill the duty of system software to "initialize and maintain MTRR consistency across all processors." as written in the AMD and Intel manuals. If an WRMSR instruction fails because MtrrFixDramModEn is not set, I expect that also the Intel-style MTRR bits are not updated. AK: minor cleanup, moved MSR defines around Signed-off-by: Bernhard Kaindl Signed-off-by: Andi Kleen Cc: Andrew Morton Cc: Andi Kleen Cc: Dave Jones commit 3ebad5905609476a4ff1151a66b21d9794009961 Author: Bernhard Kaindl Date: Wed May 2 19:27:17 2007 +0200 [PATCH] x86: Save and restore the fixed-range MTRRs of the BSP when suspending Note: This patch didn'nt need an update since it's initial post. Some BIOSes may modify fixed-range MTRRs in SMM, e.g. when they transition the system into ACPI mode, which is entered thru an SMI, triggered by Linux in acpi_enable(). SMIs which cause that Linux is interrupted and BIOS code is executed (which may change e.g. fixed-range MTRRs) in SMM may be raised by an embedded system controller which is often found in notebooks also at other occasions. If we would not update our copy of the fixed-range MTRRs before suspending to RAM or to disk, restore_processor_state() would set the fixed-range MTRRs of the BSP using old backup values which may be outdated and this could cause the system to fail later during resume. This patch ensures that our copy of the fixed-range MTRRs is updated when saving the boot processor state on suspend to disk and suspend to RAM. In combination with other patches this allows to fix s2ram and s2disk on the Acer Ferrari 1000 notebook and at least s2disk on the Acer Ferrari 5000 notebook. Signed-off-by: Bernhard Kaindl Signed-off-by: Andi Kleen Cc: Andrew Morton Cc: Andi Kleen Cc: Dave Jones commit 2b1f6278d77c1f2f669346fc2bb48012b5e9495a Author: Bernhard Kaindl Date: Wed May 2 19:27:17 2007 +0200 [PATCH] x86: Save the MTRRs of the BSP before booting an AP Applied fix by Andew Morton: http://lkml.org/lkml/2007/4/8/88 - Fix `make headers_check'. AMD and Intel x86 CPU manuals state that it is the responsibility of system software to initialize and maintain MTRR consistency across all processors in Multi-Processing Environments. Quote from page 188 of the AMD64 System Programming manual (Volume 2): 7.6.5 MTRRs in Multi-Processing Environments "In multi-processing environments, the MTRRs located in all processors must characterize memory in the same way. Generally, this means that identical values are written to the MTRRs used by the processors." (short omission here) "Failure to do so may result in coherency violations or loss of atomicity. Processor implementations do not check the MTRR settings in other processors to ensure consistency. It is the responsibility of system software to initialize and maintain MTRR consistency across all processors." Current Linux MTRR code already implements the above in the case that the BIOS does not properly initialize MTRRs on the secondary processors, but the case where the fixed-range MTRRs of the boot processor are changed after Linux started to boot, before the initialsation of a secondary processor, is not handled yet. In this case, secondary processors are currently initialized by Linux with MTRRs which the boot processor had very early, when mtrr_bp_init() did run, but not with the MTRRs which the boot processor uses at the time when that secondary processors is actually booted, causing differing MTRR contents on the secondary processors. Such situation happens on Acer Ferrari 1000 and 5000 notebooks where the BIOS enables and sets AMD-specific IORR bits in the fixed-range MTRRs of the boot processor when it transitions the system into ACPI mode. The SMI handler of the BIOS does this in SMM, entered while Linux ACPI code runs acpi_enable(). Other occasions where the SMI handler of the BIOS may change bits in the MTRRs could occur as well. To initialize newly booted secodary processors with the fixed-range MTRRs which the boot processor uses at that time, this patch saves the fixed-range MTRRs of the boot processor before new secondary processors are started. When the secondary processors run their Linux initialisation code, their fixed-range MTRRs will be updated with the saved fixed-range MTRRs. If CONFIG_MTRR is not set, we define mtrr_save_state as an empty statement because there is nothing to do. Possible TODOs: *) CPU-hotplugging outside of SMP suspend/resume is not yet tested with this patch. *) If, even in this case, an AP never runs i386/do_boot_cpu or x86_64/cpu_up, then the calls to mtrr_save_state() could be replaced by calls to mtrr_save_fixed_ranges(NULL) and mtrr_save_state() would not be needed. That would need either verification of the CPU-hotplug code or at least a test on a >2 CPU machine. *) The MTRRs of other running processors are not yet checked at this time but it might be interesting to syncronize the MTTRs of all processors before booting. That would be an incremental patch, but of rather low priority since there is no machine known so far which would require this. AK: moved prototypes on x86-64 around to fix warnings Signed-off-by: Bernhard Kaindl Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Dave Jones commit 2b3b4835c94226681c496de9446d456dcf42ed08 Author: Bernhard Kaindl Date: Wed May 2 19:27:17 2007 +0200 [PATCH] x86: Adds mtrr_save_fixed_ranges() for use in two later patches. In this current implementation which is used in other patches, mtrr_save_fixed_ranges() accepts a dummy void pointer because in the current implementation of one of these patches, this function may be called from smp_call_function_single() which requires that this function takes a void pointer argument. This function calls get_fixed_ranges(), passing mtrr_state.fixed_ranges which is the element of the static struct which stores our current backup of the fixed-range MTRR values which all CPUs shall be using. Because mtrr_save_fixed_ranges calls get_fixed_ranges after kernel initialisation time, __init needs to be removed from the declaration of get_fixed_ranges(). If CONFIG_MTRR is not set, we define mtrr_save_fixed_ranges as an empty statement because there is nothing to do. AK: Moved prototypes for x86-64 around to fix warnings Signed-off-by: Bernhard Kaindl Signed-off-by: Andi Kleen Cc: Andrew Morton Cc: Andi Kleen Cc: Dave Jones commit 856f44ff4af6e57fdc39a8b2bec498c88438bd27 Author: Andi Kleen Date: Wed May 2 19:27:17 2007 +0200 [PATCH] x86-64: Move mtrr prototypes from proto.h to mtrr.h Signed-off-by: Andi Kleen commit 03df4f6ee997589a84d5f9492c6419183724c710 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:17 2007 +0200 [PATCH] i386: Clean up ELF note generation Three cleanups: 1: ELF notes are never mapped, so there's no need to have any access flags in their phdr. 2: When generating them from asm, tell the assembler to use a SHT_NOTE section type. There doesn't seem to be a way to do this from C. 3: Use ANSI rather than traditional cpp behaviour to stringify the macro argument. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Eric W. Biederman commit 21564fd2a3deb48200b595332f9ed4c9f311f2a7 Author: Andi Kleen Date: Wed May 2 19:27:17 2007 +0200 [PATCH] i386: PARAVIRT: Export paravirt_ops for non GPL modules too Otherwise non GPL modules cannot even do basic operations like disabling interrupts anymore, which would be excessive. Longer term should split the single structure up into internal and external symbols and not export the internal ones at all. Signed-off-by: Andi Kleen commit 441d40dca024deb305a5e3d5003e8cd9d364d10f Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:16 2007 +0200 [PATCH] x86: PARAVIRT: Jeremy Fitzhardinge The other symbols used to delineate the alt-instructions sections have the form __foo/__foo_end. Rename parainstructions to match. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Rusty Russell Signed-off-by: Andrew Morton commit e0bb8643974397a8d36670e06e6a54bb84f3289f Author: Zachary Amsden Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: Convert VMI timer to use clock events Convert VMI timer to use clock events, making it properly able to use the NO_HZ infrastructure. On UP systems, with no local APIC, we just continue to route these events through the PIT. On systems with a local APIC, or SMP, we provide a single source interrupt chip which creates the local timer IRQ. It actually gets delivered by the APIC hardware, but we don't want to use the same local APIC clocksource processing, so we create our own handler here. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen CC: Dan Hecht CC: Ingo Molnar CC: Thomas Gleixner commit eeef9c68aae2f4f21ab810d0339e0f22d30b0cd8 Author: Zachary Amsden Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: Implement vmi_kmap_atomic_pte Implement vmi_kmap_atomic_pte in terms of the backend set_linear_mapping operation. The conversion is rather straighforward; call kmap_atomic and then inform the hypervisor of the page mapping. The _flush_tlb damage is due to macros being pulled in from highmem.h. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit 9f53a729dbf0ba8abdc464f6eb828f485d3417f7 Author: Zachary Amsden Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: Now that the VDSO can be relocated, we can support it in VMI configurations. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit 18420001d6ceafbe094a6f911126c6eee34d25c4 Author: Zachary Amsden Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: Clean up arch/i386/kernel/cpu/mcheck/p4.c No, just no. You do not use goto to skip a code block. You do not return an obvious variable from a singly-inlined function and give the function a return value. You don't put unexplained comments about kmalloc in code which doesn't do dynamic allocation. And you don't leave stray warnings around for no good reason. Also, when possible, it is better to use block scoped variables because gcc can sometime generate better code. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit 959b4fdfe7e27bcf101e2381e500e4076f2bb9ce Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: PARAVIRT: Allow boot-time disable of paravirt_ops patching Add "noreplace-paravirt" to disable paravirt_ops patching. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton commit 752783c050f1729452a89b2baea45b0124ac91c7 Author: Zachary Amsden Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: In compat mode, the return value here was uninitialized. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit 57decbda6a2a7c400b2a3b3b12e52ccbdc977118 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:16 2007 +0200 [PATCH] x86: update for i386 and x86-64 check_bugs Remove spurious comments, headers and keywords from x86-64 bugs.[ch]. Use identify_boot_cpu() AK: merged with other patch Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 9ce8c2ed12550f90fd6e902990652b13df647793 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: map enough initial memory to create lowmem mappings head.S creates the very initial pagetable for the kernel. This just maps enough space for the kernel itself, and an allocation bitmap. The amount of mapped memory is rounded up to 4Mbytes, and so this typically ends up mapping 8Mbytes of memory. When booting, pagetable_init() needs to create mappings for all lowmem, and the pagetables for these mappings are allocated from the free pages around the kernel in low memory. If the number of pagetable pages + kernel size exceeds head.S's initial mapping, it will end up faulting on an unmapped page. This will only happen with specific combinations of kernel size and memory size. This patch makes sure that head.S also maps enough space to fit the kernel pagetables as well as the kernel itself. It ends up using an additional two pages of unreclaimable memory. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Acked-by: "H. Peter Anvin" Cc: Andi Kleen Cc: Zachary Amsden Cc: Chris Wright Cc: "Eric W. Biederman" Cc: Linus Torvalds , commit c5413fbe894924ddb8aa474a4d4da52e7a6c7e0b Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: Fix UP gdt bugs Fixes two problems with the GDT when compiling for uniprocessor: - There's no percpu segment, so trying to load its selector into %fs fails. Use a null selector instead. - The real gdt needs to be loaded at some point. Do it in cpu_init(). Signed-off-by: Chris Wright Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell commit 1956c73bb5bf81ee577ed7d3c64e3cad876ad2a5 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: Define per_cpu_offset Define per_cpu_offset in asm-i386/percpu.h when SMP defined, like asm-generic/percpu.h does for UP. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Andi Kleen commit 978c038ec944e4f2c940b0975c6acb433203a9be Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: cleanups to help using per-cpu variables from asm This patch does a few small cleanups: - use PER_CPU_NAME to generate the names of per-cpu variables - use lea to add the per_cpu offset in PER_CPU(), because it doesn't affect condition flags - add PER_CPU_VAR which allows direct access to pre-cpu variables with the %fs: prefix on SMP. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Andi Kleen commit 7c3576d261ce046789a7db14f43303f8120910c7 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:16 2007 +0200 [PATCH] i386: Convert PDA into the percpu section Currently x86 (similar to x84-64) has a special per-cpu structure called "i386_pda" which can be easily and efficiently referenced via the %fs register. An ELF section is more flexible than a structure, allowing any piece of code to use this area. Indeed, such a section already exists: the per-cpu area. So this patch: (1) Removes the PDA and uses per-cpu variables for each current member. (2) Replaces the __KERNEL_PDA segment with __KERNEL_PERCPU. (3) Creates a per-cpu mirror of __per_cpu_offset called this_cpu_off, which can be used to calculate addresses for this CPU's variables. (4) Simplifies startup, because %fs doesn't need to be loaded with a special segment at early boot; it can be deferred until the first percpu area is allocated (or never for UP). The result is less code and one less x86-specific concept. Signed-off-by: Rusty Russell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Andi Kleen commit 7a61d35d4b4056e7711031202da7605e052f4137 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] i386: Page-align the GDT Xen wants a dedicated page for the GDT. I believe VMI likes it too. lguest, KVM and native don't care. Simple transformation to page-aligned "struct gdt_page". Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Acked-by: Jeremy Fitzhardinge commit 39b7ee06859b07ca5fd4fabb44c4600316532574 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] x86-64: deflate inflate_dynamic too inflate_dynamic() has piggy stack usage too, so heap allocate it too. I'm not sure it actually gets used, but it shows up large in "make checkstack". Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 35c7422649ee7a3d0eb4ebd32c997eeb45f81046 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] x86: deflate stack usage in lib/inflate.c inflate_fixed and huft_build together use around 2.7k of stack. When using 4k stacks, I saw stack overflows from interrupts arriving while unpacking the root initrd: do_IRQ: stack overflow: 384 [] show_trace_log_lvl+0x1a/0x30 [] show_trace+0x12/0x14 [] dump_stack+0x16/0x18 [] do_IRQ+0x6d/0xd9 [] xen_evtchn_do_upcall+0x6e/0xa2 [] xen_hypervisor_callback+0x25/0x2c [] xen_restore_fl+0x27/0x29 [] _spin_unlock_irqrestore+0x4a/0x50 [] change_page_attr+0x577/0x584 [] kernel_map_pages+0x8d/0xb4 [] cache_alloc_refill+0x53f/0x632 [] __kmalloc+0xc1/0x10d [] malloc+0x10/0x12 [] huft_build+0x2a7/0x5fa [] inflate_fixed+0x91/0x136 [] unpack_to_rootfs+0x5f2/0x8c1 [] populate_rootfs+0x1e/0xe4 (This was under Xen, but there's no reason it couldn't happen on bare hardware.) This patch mallocs the local variables, thereby reducing the stack usage to sane levels. Also, up the heap size for the kernel decompressor to deal with the extra allocation. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Tim Yamin Cc: Andi Kleen Cc: Matt Mackall Cc: Ivan Kokshaysky Cc: Richard Henderson Cc: Russell King Cc: Ian Molton commit 4cdd9c8931767e1c56a51a1078d33a8c340f4405 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] i386: PARAVIRT: drop unused ptep_get_and_clear In shadow mode hypervisors, ptep_get_and_clear achieves the desired purpose of keeping the shadows in sync by issuing a native_get_and_clear, followed by a call to pte_update, which indicates the PTE has been modified. Direct mode hypervisors (Xen) have no need for this anyway, and will trap the update using writable pagetables. This means no hypervisor makes use of ptep_get_and_clear; there is no reason to have it in the paravirt-ops structure. Change confusing terminology about raw vs. native functions into consistent use of native_pte_xxx for operations which do not invoke paravirt-ops. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen commit 1a45b7aaa5051489b46afbc48509bd91f8b4a1ba Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] i386: PARAVIRT: Clean up paravirt patchable wrappers Replace all the open-coded macros for generating calls with a pair of more general macros (__PVOP_CALL/VCALL), and redefine all the PVOP_V?CALL[0-4] in terms of them. [ Andrew, Andi: this should slot in immediately after "Document asm-i386/paravirt.h" (paravirt_ops-document-asm-i386-paravirth.patch) ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Ingo Molnar commit 4e0fa85602a4fa219fc3a9c053d5140bf987d3e3 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] i386: PARAVIRT: Use enums for paravirt lazy flush modi Remove #defines, add enum for PARAVIRT_LAZY_FLUSH. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 7b2f27f4e1818fad980da7bea688dca2b9e9c3f3 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] i386: PARAVIRT: flush lazy mmu updates on kunmap_atomic kunmap_atomic should flush any pending lazy mmu updates, mainly to be consistent with kmap_atomic, and to preserve its normal behaviour. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit ce6234b5298902aaec831a67d5f8d9bd2ef5a488 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] i386: PARAVIRT: add kmap_atomic_pte for mapping highpte pages Xen and VMI both have special requirements when mapping a highmem pte page into the kernel address space. These can be dealt with by adding a new kmap_atomic_pte() function for mapping highptes, and hooking it into the paravirt_ops infrastructure. Xen specifically wants to map the pte page RO, so this patch exposes a helper function, kmap_atomic_prot, which maps the page with the specified page protections. This also adds a kmap_flush_unused() function to clear out the cached kmap mappings. Xen needs this to clear out any potential stray RW mappings of pages which will become part of a pagetable. [ Zach - vmi.c will need some attention after this patch. It wasn't immediately obvious to me what needs to be done. ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Zachary Amsden commit a27fe809b82c5e18932fcceded28d0d1481ce7bb Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] i386: PARAVIRT: revert map_pt_hook. Back out the map_pt_hook to clear the way for kmap_atomic_pte. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Zachary Amsden commit d4c104771a1c58e3de2a888b73b0ba1b54c0ae76 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:15 2007 +0200 [PATCH] i386: PARAVIRT: add flush_tlb_others paravirt_op This patch adds a pv_op for flush_tlb_others. Linux running on native hardware uses cross-CPU IPIs to flush the TLB on any CPU which may have a particular mm's pagetable entries cached in its TLB. This is inefficient in a paravirtualized environment, since the hypervisor knows which real CPUs actually contain cached mappings, which may be a small subset of a guest's VCPUs. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 63f70270ccd981ce40a8ff58c03a8c2e97e368be Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:14 2007 +0200 [PATCH] i386: PARAVIRT: add common patching machinery Implement the actual patching machinery. paravirt_patch_default() contains the logic to automatically patch a callsite based on a few simple rules: - if the paravirt_op function is paravirt_nop, then patch nops - if the paravirt_op function is a jmp target, then jmp to it - if the paravirt_op function is callable and doesn't clobber too much for the callsite, call it directly paravirt_patch_default is suitable as a default implementation of paravirt_ops.patch, will remove most of the expensive indirect calls in favour of either a direct call or a pile of nops. Backends may implement their own patcher, however. There are several helper functions to help with this: paravirt_patch_nop nop out a callsite paravirt_patch_ignore leave the callsite as-is paravirt_patch_call patch a call if the caller and callee have compatible clobbers paravirt_patch_jmp patch in a jmp paravirt_patch_insns patch some literal instructions over the callsite, if they fit This patch also implements more direct patches for the native case, so that when running on native hardware many common operations are implemented inline. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Zachary Amsden Cc: Anthony Liguori Acked-by: Ingo Molnar commit 294688c028e80fd467cdd22da79f62c5f311eaf5 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:14 2007 +0200 [PATCH] i386: PARAVIRT: Document asm-i386/paravirt.h Clean things up, and broadly document: - the paravirt_ops functions themselves - the patching mechanism Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell commit f8822f42019eceed19cc6c0f985a489e17796ed8 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:14 2007 +0200 [PATCH] i386: PARAVIRT: Consistently wrap paravirt ops callsites to make them patchable Wrap a set of interesting paravirt_ops calls in a wrapper which makes the callsites available for patching. Unfortunately this is pretty ugly because there's no way to get gcc to generate a function call, but also wrap just the callsite itself with the necessary labels. This patch supports functions with 0-4 arguments, and either void or returning a value. 64-bit arguments must be split into a pair of 32-bit arguments (lower word first). Small structures are returned in registers. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Zachary Amsden Cc: Anthony Liguori commit 42c24fa22e86365055fc931d833f26165e687c19 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:14 2007 +0200 [PATCH] i386: PARAVIRT: Fix patch site clobbers to include return register Fix a few clobbers to include the return register. The clobbers set is the set of all registers modified (or may be modified) by the code snippet, regardless of whether it was deliberate or accidental. Also, make sure that callsites which are used in contexts which don't allow clobbers actually save and restore all clobberable registers. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Zachary Amsden commit d582203578a1f3d408e27bb9042e8635954cd320 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:14 2007 +0200 [PATCH] i386: PARAVIRT: Use patch site IDs computed from offset in paravirt_ops structure Use patch type identifiers derived from the offset of the operation in the paravirt_ops structure. This avoids having to maintain a separate enum for patch site types. Also, since the identifier is derived from the offset into paravirt_ops, the offset can be derived from the identifier. This is used to remove replicated information in the various callsite macros, which has been a source of bugs in the past. This patch also drops the fused save_fl+cli operation, which doesn't really add much and makes things more complex - specifically because it breaks the 1:1 relationship between identifiers and offsets. If this operation turns out to be particularly beneficial, then the right answer is to define a new entrypoint for it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Zachary Amsden commit 98de032b681d8a7532d44dfc66aa5c0c1c755a9d Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:14 2007 +0200 [PATCH] i386: PARAVIRT: rename struct paravirt_patch to paravirt_patch_site for clarity Rename struct paravirt_patch to paravirt_patch_site, so that it clearly refers to a callsite, and not the patch which may be applied to that callsite. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Zachary Amsden commit d6dd61c831226f9cd7750885da04d360d6455101 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:14 2007 +0200 [PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction Add hooks to allow a paravirt implementation to track the lifetime of an mm. Paravirtualization requires three hooks, but only two are needed in common code. They are: arch_dup_mmap, which is called when a new mmap is created at fork arch_exit_mmap, which is called when the last process reference to an mm is dropped, which typically happens on exit and exec. The third hook is activate_mm, which is called from the arch-specific activate_mm() macro/function, and so doesn't need stub versions for other architectures. It's called when an mm is first used. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: linux-arch@vger.kernel.org Cc: James Bottomley Acked-by: Ingo Molnar commit 5311ab62cdc7788784971ed816ce85e926f3e994 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: PARAVIRT: Allow paravirt backend to choose kernel PMD sharing Normally when running in PAE mode, the 4th PMD maps the kernel address space, which can be shared among all processes (since they all need the same kernel mappings). Xen, however, does not allow guests to have the kernel pmd shared between page tables, so parameterize pgtable.c to allow both modes of operation. There are several side-effects of this. One is that vmalloc will update the kernel address space mappings, and those updates need to be propagated into all processes if the kernel mappings are not intrinsically shared. In the non-PAE case, this is done by maintaining a pgd_list of all processes; this list is used when all process pagetables must be updated. pgd_list is threaded via otherwise unused entries in the page structure for the pgd, which means that the pgd must be page-sized for this to work. Normally the PAE pgd is only 4x64 byte entries large, but Xen requires the PAE pgd to page aligned anyway, so this patch forces the pgd to be page aligned+sized when the kernel pmd is unshared, to accomodate both these requirements. Also, since there may be several distinct kernel pmds (if the user/kernel split is below 3G), there's no point in allocating them from a slab cache; they're just allocated with get_free_page and initialized appropriately. (Of course the could be cached if there is just a single kernel pmd - which is the default with a 3G user/kernel split - but it doesn't seem worthwhile to add yet another case into this code). [ Many thanks to wli for review comments. ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: William Lee Irwin III Signed-off-by: Andi Kleen Cc: Zachary Amsden Cc: Christoph Lameter Acked-by: Ingo Molnar Signed-off-by: Andrew Morton commit 90caccb9758e88db68a69553689baee38254287b Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: PARAVIRT: Allocate a fixmap slot Allocate a fixmap slot for use by a paravirt_ops implementation. This is intended for early-boot bootstrap mappings. Once the zones and allocator have been set up, it would be better to use get_vm_area() to allocate some virtual space. Xen uses this to map the hypervisor's shared info page, which doesn't have a pseudo-physical page number, and therefore can't be mapped ordinarily. It is needed early because it contains the vcpu state, including the interrupt mask. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Acked-by: Ingo Molnar commit b239fb2501117bf3aeb4dd6926edd855be92333d Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: PARAVIRT: Hooks to set up initial pagetable This patch introduces paravirt_ops hooks to control how the kernel's initial pagetable is set up. In the case of a native boot, the very early bootstrap code creates a simple non-PAE pagetable to map the kernel and physical memory. When the VM subsystem is initialized, it creates a proper pagetable which respects the PAE mode, large pages, etc. When booting under a hypervisor, there are many possibilities for what paging environment the hypervisor establishes for the guest kernel, so the constructon of the kernel's pagetable depends on the hypervisor. In the case of Xen, the hypervisor boots the kernel with a fully constructed pagetable, which is already using PAE if necessary. Also, Xen requires particular care when constructing pagetables to make sure all pagetables are always mapped read-only. In order to make this easier, kernel's initial pagetable construction has been changed to only allocate and initialize a pagetable page if there's no page already present in the pagetable. This allows the Xen paravirt backend to make a copy of the hypervisor-provided pagetable, allowing the kernel to establish any more mappings it needs while keeping the existing ones. A slightly subtle point which is worth highlighting here is that Xen requires all kernel mappings to share the same pte_t pages between all pagetables, so that updating a kernel page's mapping in one pagetable is reflected in all other pagetables. This makes it possible to allocate a page and attach it to a pagetable without having to explicitly enumerate that page's mapping in all pagetables. And: +From: "Eric W. Biederman" If we don't set the leaf page table entries it is quite possible that will inherit and incorrect page table entry from the initial boot page table setup in head.S. So we need to redo the effort here, so we pick up PSE, PGE and the like. Hypervisors like Xen require that their page tables be read-only, which is slightly incompatible with our low identity mappings, however I discussed this with Jeremy he has modified the Xen early set_pte function to avoid problems in this area. Signed-off-by: Eric W. Biederman Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Acked-by: William Irwin Cc: Ingo Molnar commit 3dc494e86d1c93afd4c66385f270899dbfae483d Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: PARAVIRT: Add pagetable accessors to pack and unpack pagetable entries Add a set of accessors to pack, unpack and modify page table entries (at all levels). This allows a paravirt implementation to control the contents of pgd/pmd/pte entries. For example, Xen uses this to convert the (pseudo-)physical address into a machine address when populating a pagetable entry, and converting back to pphys address when an entry is read. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Acked-by: Ingo Molnar commit 45876233605c268e929a7875081e129debe34bdc Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: PARAVIRT: use paravirt_nop to consistently mark no-op operations Add a _paravirt_nop function for use as a stub for no-op operations, and paravirt_nop #defined void * version to make using it easier (since all its uses are as a void *). This is useful to allow the patcher to automatically identify noop operations so it can simply nop out the callsite. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Acked-by: Ingo Molnar [mingo] but only as a cleanup of the current open-coded (void *) casts. My problem with this is that it loses the types. Not that there is much to check for, but still, this adds some assumptions about how function calls look like commit 7f63c41c6c57371a0931da3940c6620c2301442c Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: PARAVIRT: Remove CONFIG_DEBUG_PARAVIRT Remove CONFIG_DEBUG_PARAVIRT. When inlining code, this option attempts to trash registers in the patch-site's "clobber" field, on the grounds that this should find bugs with incorrect clobbers. Unfortunately, the clobber field really means "registers modified by this patch site", which includes return values. Because of this, this option has outlived its usefulness, so remove it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell commit 4cdf6bc2476157f397f3b71a9bd4e23c7a7aaf80 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] x86-64: update MAINTAINERS Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chris Wright Cc: Zachary Amsden Cc: Rusty Russell commit a75c54f933bd8db9f4a609bd128663c179b3e6a1 Author: Rusty Russell Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: i386 separate hardware-defined TSS from Linux additions On Thu, 2007-03-29 at 13:16 +0200, Andi Kleen wrote: > Please clean it up properly with two structs. Not sure about this, now I've done it. Running it here. If you like it, I can do x86-64 as well. == lguest defines its own TSS struct because the "struct tss_struct" contains linux-specific additions. Andi asked me to split the struct in processor.h. Unfortunately it makes usage a little awkward. Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen commit 82d1bb725e128c97b362a4b33fcbfff08fdaaa5a Author: James Puthukattukaran Date: Wed May 2 19:27:13 2007 +0200 [PATCH] x86-64: x86-64 system crashes when no memory populating Node 0 I have a 4 socket AMD Operton system. The 2.6.18 kernel I have crashes when there is no memory in node0. AK: changed call to _nopanic Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 1c3d99c11c47c8a1a9ed6a46555dbf6520683c52 Author: Glauber de Oliveira Costa Date: Wed May 2 19:27:13 2007 +0200 [PATCH] x86-64: Fix x86_64 compilation with DEBUG_SIG on Setting the DEBUG_SIG flag breaks compilation due to a wrong struct access. Aditionally, it raises two warnings. This is one patch to fix them all. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen commit b7fb4af06c18496950a45b365f7a09c47ea64c17 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: Allow boot-time disable of SMP altinstructions Add "noreplace-smp" to disable SMP instruction replacement. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit d0175ab64412aabc93da8682aaa99124d6815056 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:13 2007 +0200 [PATCH] i386: Remove smp_alt_instructions The .smp_altinstructions section and its corresponding symbols are completely unused, so remove them. Also, remove stray #ifdef __KENREL__ in asm-i386/alternative.h Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Andi Kleen commit 4bc5aa91fb1e544ad37805520030a0d9fc6e11d3 Author: H. Peter Anvin Date: Wed May 2 19:27:12 2007 +0200 [PATCH] x86: Clean up x86 control register and MSR macros (corrected) This patch is based on Rusty's recent cleanup of the EFLAGS-related macros; it extends the same kind of cleanup to control registers and MSRs. It also unifies these between i386 and x86-64; at least with regards to MSRs, the two had definitely gotten out of sync. Signed-off-by: H. Peter Anvin Signed-off-by: Andi Kleen commit b6e3590f8145c77b8fcef3247e2412335221412f Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:12 2007 +0200 [PATCH] x86: Allow percpu variables to be page-aligned Let's allow page-alignment in general for per-cpu data (wanted by Xen, and Ingo suggested KVM as well). Because larger alignments can use more room, we increase the max per-cpu memory to 64k rather than 32k: it's getting a little tight. Signed-off-by: Rusty Russell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Acked-by: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton commit de90c5ce832b1218042316260ff9268b00fdcba3 Author: Andi Kleen Date: Wed May 2 19:27:12 2007 +0200 [PATCH] i386: Enable bank 0 on non K7 Athlon As a bug workaround bank 0 on K7s is normally disabled, but no need to do that on other AMD CPUs. Cc: davej@redhat.com Signed-off-by: Andi Kleen commit d479d2cc0802d5c8546a6a7492646e08228effd5 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:12 2007 +0200 [PATCH] i386: Update smp_call_function* comments Update documentation for i386 smp_call_function* functions. As reported by Randy Dunlap [ I've posted this before but it seems to have been lost along the way. ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Randy Dunlap commit 7946331856f99bdb00b0a0a53e97d9b621546622 Author: Jan Engelhardt Date: Wed May 2 19:27:12 2007 +0200 [PATCH] i386: Use menuconfig objects - APM (I hope Andi is the right one to Cc, otherwise please add, thanks!) Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andi Kleen commit f039b754714a422959027cb18bb33760eb8153f0 Author: Andi Kleen Date: Wed May 2 19:27:12 2007 +0200 [PATCH] x86: Don't use MWAIT on AMD Family 10 It doesn't put the CPU into deeper sleep states, so it's better to use the standard idle loop to save power. But allow to reenable it anyways for benchmarking. I also removed the obsolete idle=halt on i386 Cc: andreas.herrmann@amd.com Signed-off-by: Andi Kleen commit c169859d6dfc7471ef9f2dbd720936e17906a084 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:12 2007 +0200 [PATCH] x86-64: Clean up asm-x86_64/bugs.h Most of asm-x86_64/bugs.h is code which should be in a C file, so put it there. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Linus Torvalds commit 1dbf527c51c6c20c19869c8125cb5b87c3d09506 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:12 2007 +0200 [PATCH] i386: Make COMPAT_VDSO runtime selectable. Now that relocation of the VDSO for COMPAT_VDSO users is done at runtime rather than compile time, it is possible to enable/disable compat mode at runtime. This patch allows you to enable COMPAT_VDSO mode with "vdso=2" on the kernel command line, or via sysctl. (Switching on a running system shouldn't be done lightly; any process which was relying on the compat VDSO will be upset if it goes away.) The COMPAT_VDSO config option still exists, but if enabled it just makes vdso_enabled default to VDSO_COMPAT. +From: Hugh Dickins Fix oops from i386-make-compat_vdso-runtime-selectable.patch. Even mingetty at system startup finds it easy to trigger an oops while reading /proc/PID/maps: though it has a good hold on the mm itself, that cannot stop exit_mm() from resetting tsk->mm to NULL. (It is usually show_map()'s call to get_gate_vma() which oopses, and I expect we could change that to check priv->tail_vma instead; but no matter, even m_start()'s call just after get_task_mm() is racy.) Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Zachary Amsden Cc: "Jan Beulich" Cc: Eric W. Biederman Cc: Andi Kleen Cc: Ingo Molnar Cc: Roland McGrath commit d4f7a2c18e59e0304a1c733589ce14fc02fec1bd Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:12 2007 +0200 [PATCH] i386: Relocate VDSO ELF headers to match mapped location with COMPAT_VDSO Some versions of libc can't deal with a VDSO which doesn't have its ELF headers matching its mapped address. COMPAT_VDSO maps the VDSO at a specific system-wide fixed address. Previously this was all done at build time, on the grounds that the fixed VDSO address is always at the top of the address space. However, a hypervisor may reserve some of that address space, pushing the fixmap address down. This patch does the adjustment dynamically at runtime, depending on the runtime location of the VDSO fixmap. [ Patch has been through several hands: Jan Beulich wrote the orignal version; Zach reworked it, and Jeremy converted it to relocate phdrs as well as sections. ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Zachary Amsden Cc: "Jan Beulich" Cc: Eric W. Biederman Cc: Andi Kleen Cc: Ingo Molnar Cc: Roland McGrath commit a6c4e076ee4c1ea670e4faa55814e63dd08e3f29 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:12 2007 +0200 [PATCH] i386: clean up identify_cpu identify_cpu() is used to identify both the boot CPU and secondary CPUs, but it performs some actions which only apply to the boot CPU. Those functions are therefore really __init functions, but because they're called by identify_cpu(), they must be marked __cpuinit. This patch splits identify_cpu() into identify_boot_cpu() and identify_secondary_cpu(), and calls the appropriate init functions from each. Also, identify_boot_cpu() and all the functions it dominates are marked __init. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 1353ebb4b48151e3810d9a60449edd43a90ea3c3 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:12 2007 +0200 [PATCH] i386: Clean up asm-i386/bugs.h Most of asm-i386/bugs.h is code which should be in a C file, so put it there. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Linus Torvalds commit 0d08e0d3a97cce22ebf80b54785e00d9b94e1add Author: Andi Kleen Date: Wed May 2 19:27:12 2007 +0200 [PATCH] x86-64: Fix vmalloc_32 to really allocate <4GB on 64bit platforms Ugly ifdef, but should handle all 64bit platforms that have suitable zones. On some like Altix it's probably impossible without IOMMU use to get memory <4GB this way, but they have to live with that. Signed-off-by: Andi Kleen commit bbf30a1650be396b5467f769f4fbee715f16ec36 Author: Avi Kivity Date: Wed May 2 19:27:12 2007 +0200 [PATCH] x86-64: fix arithmetic in comment The xmm space on x86_64 is 256 bytes. Signed-off-by: Avi Kivity Signed-off-by: Andi Kleen commit 5d02d7ae73ac9446f20bbf604b04a74637178b35 Author: Andi Kleen Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86-64: Use X86_EFLAGS_IF in x86-64/irqflags.h. As per i386 patch: move X86_EFLAGS_IF et al out to a new header: processor-flags.h, so we can include it from irqflags.h and use it in raw_irqs_disabled_flags(). As a side-effect, we could now use these flags in .S files. Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen commit b92e9fac400d4ae5bc7a75c568e9844ec53ea329 Author: Jan Beulich Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86: fix amd64-agp aperture validation Under CONFIG_DISCONTIGMEM, assuming that a !pfn_valid() implies all subsequent pfn-s are also invalid is wrong. Thus replace this by explicitly checking against the E820 map. AK: make e820 on x86-64 not initdata Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Acked-by: Mark Langsdorf commit b00742d399513a4100c24cc2accefdc1bb1e0b15 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86-64: Account for module percpu space separately from kernel percpu Rather than using a single constant PERCPU_ENOUGH_ROOM, compute it as the sum of kernel_percpu + PERCPU_MODULE_RESERVE. This is now common to all architectures; if an architecture wants to set PERCPU_ENOUGH_ROOM to something special, then it may do so (ia64 is the only one which does). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Eric W. Biederman Cc: Andi Kleen commit bbba11c35baaad3f70f32e185a2c1d40d7901fe9 Author: Andi Kleen Date: Wed May 2 19:27:11 2007 +0200 [PATCH] i386: Remove unneeded externs in nmi.c All were already in some header Signed-off-by: Andi Kleen commit 43c3ab308d0e8e6ad9a5fb24020eb59cd423a3db Author: Andi Kleen Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86-64: Change my email address Signed-off-by: Andi Kleen commit 07f3331c6bfd27a06dfb0ca9fa4f06dec6606876 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:11 2007 +0200 [PATCH] i386: Add machine_ops interface to abstract halting and rebooting machine_ops is an interface for the machine_* functions defined in . This is intended to allow hypervisors to intercept the reboot process, but it could be used to implement other x86 subarchtecture reboots. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 01a2f435564b4baab61328b4018d36464468f57b Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:11 2007 +0200 [PATCH] i386: Add smp_ops interface Add a smp_ops interface. This abstracts the API defined by for use within arch/i386. The primary intent is that it be used by a paravirtualizing hypervisor to implement SMP, but it could also be used by non-APIC-using sub-architectures. This is related to CONFIG_PARAVIRT, but is implemented unconditionally since it is simpler that way and not a highly performance-sensitive interface. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Ingo Molnar Cc: James Bottomley commit 4fbb5968810b237e81977f131986b9efd5245368 Author: Rusty Russell Date: Wed May 2 19:27:11 2007 +0200 [PATCH] i386: cleanup GDT Access Now we have an explicit per-cpu GDT variable, we don't need to keep the descriptors around to use them to find the GDT: expose cpu_gdt directly. We could go further and make load_gdt() pack the descriptor for us, or even assume it means "load the current cpu's GDT" which is what it always does. Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 141f9cfe0a948c8fe26e5669364ee62c03ea42e8 Author: Bernhard Walle Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86-64: Fix "Section mismatch" compile warning Fix "Section mismatch" warnings in arch/x86_64/kernel/time.c Signed-off-by: Bernhard Walle Signed-off-by: Andi Kleen commit dd4ecfc2b10d962d70ff59f8994a29aa048700ec Author: Jan Beulich Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86-64: adjust EDID retrieval commit 5e518d7672dea4cd7c60871e40d0490c52f01d13 did the same change to i386's variant. With this change, i386's and x86-64's versions are identical, raising the question whether the x86-64 one should go (just like there's only one instance of edd.S). Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit ae32b1297a77c23fd0badd642bb685062f7a37f8 Author: Konrad Rzeszutek Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86-64: Inhibit machine from asserting an NMI when doing Alt-SysRq-M operation. This patch touches the NMI watchdog every MAX_ORDER_NR_PAGES to inhibit the machine from triggering an NMI while the CPUs are locked. This situation is happening on boxes with more than 64CPUs and 128GB of RAM when Alt-SysRq-m is performed. It has been succesfully tested for regression on uni, 2, 4, 8 32, and 64 CPU boxes with various memory configuration. Signed-off-by: Andi Kleen commit c8118c6c07f2edfd697aaa0b93e08c3b65a5a675 Author: Eric Dumazet Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86-64: vsyscall_gtod_data diet and vgettimeofday() fix Current vsyscall_gtod_data is large (3 or 4 cache lines dirtied at timer interrupt). We can shrink it to exactly 64 bytes (1 cache line on AMD64) Instead of copying a whole struct clocksource, we copy only needed fields. I deleted an unused field : offset_base This patch fixes one oddity in vgettimeofday(): It can returns a timeval with tv_usec = 1000000. Maybe not a bug, but why not doing the right thing ? Signed-off-by: Eric Dumazet Signed-off-by: Andi Kleen commit 272a3713bb9e302e0455c894c41180a482d2c8a3 Author: Eric Dumazet Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86-64: fix vtime() vsyscall There is a tiny probability that the return value from vtime(time_t *t) is Signed-off-by: Andi Kleen different than the value stored in *t Using a temporary variable solves the problem and gives a faster code. 17: 48 85 ff test %rdi,%rdi 1a: 48 8b 05 00 00 00 00 mov 0(%rip),%rax # __vsyscall_gtod_data.wall_time_tv.tv_sec 21: 74 03 je 26 23: 48 89 07 mov %rax,(%rdi) 26: c9 leaveq 27: c3 retq Signed-off-by: Eric Dumazet commit bd8559c38ee5be40ce2c57a80fd3c3e978cca267 Author: Adrian Bunk Date: Wed May 2 19:27:11 2007 +0200 [PATCH] x86: remove UNEXPECTED_IO_APIC() Many years ago, UNEXPECTED_IO_APIC() contained printk()'s (but nothing more). Now that it's completely empty for years, we can as well remove it. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen commit ca906e42312781c38b7a9625109fc65b937ca56c Author: Adrian Bunk Date: Wed May 2 19:27:10 2007 +0200 [PATCH] x86: sys_ioperm() prototype cleanup - there's no reason for duplicating the prototype from include/linux/syscalls.h in include/asm-x86_64/unistd.h - every file should #include the headers containing the prototypes for it's global functions Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen commit 2bff73830c3df5f575d3bc21bf19df1a10bf7091 Author: Christoph Lameter Date: Wed May 2 19:27:10 2007 +0200 [PATCH] x86-64: use lru instead of page->index and page->private for pgd lists management. x86_64 currently simulates a list using the index and private fields of the page struct. Seems that the code was inherited from i386. But x86_64 does not use the slab to allocate pgds and pmds etc. So the lru field is not used by the slab and therefore available. This patch uses standard list operations on page->lru to realize pgd tracking. Signed-off-by: Christoph Lameter Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 05f36927eddd83e2840a981ef4d9af754dcb86e9 Author: Parag Warudkar Date: Wed May 2 19:27:10 2007 +0200 [PATCH] i386: remove the APM_RTC_IS_GMT config option. Signed-off-by: Parag Warudkar Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit b8716890f35dd567a3f8e4dd69c428a8b3f47814 Author: Andi Kleen Date: Wed May 2 19:27:10 2007 +0200 [PATCH] x86-64: Remove unused stext symbol suggested by Jan Beulich Signed-off-by: Andi Kleen commit b4531e863dbd06b5d336afefdb37483b690dea59 Author: Andi Kleen Date: Wed May 2 19:27:10 2007 +0200 [PATCH] i386: Use X86_EFLAGS_IF in irqflags.h. Move X86_EFLAGS_IF et al out to a new header: processor-flags.h, so we can include it from irqflags.h and use it in raw_irqs_disabled_flags(). As a side-effect, we could now use these flags in .S files. Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen commit 78eea47ac3e256559d97f0c2434928be39cba524 Author: Parag Warudkar Date: Wed May 2 19:27:10 2007 +0200 [PATCH] i386: get rid of unused variables Signed-off-by: Parag Warudkar Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 6fb14755a676282a4e6caa05a08c92db8e45cfff Author: Jan Beulich Date: Wed May 2 19:27:10 2007 +0200 [PATCH] x86: tighten kernel image page access rights On x86-64, kernel memory freed after init can be entirely unmapped instead of just getting 'poisoned' by overwriting with a debug pattern. On i386 and x86-64 (under CONFIG_DEBUG_RODATA), kernel text and bug table can also be write-protected. Compared to the first version, this one prevents re-creating deleted mappings in the kernel image range on x86-64, if those got removed previously. This, together with the original changes, prevents temporarily having inconsistent mappings when cacheability attributes are being changed on such pages (e.g. from AGP code). While on i386 such duplicate mappings don't exist, the same change is done there, too, both for consistency and because checking pte_present() before using various other pte_XXX functions is a requirement anyway. At once, i386 code gets adjusted to use pte_huge() instead of open coding this. AK: split out cpa() changes Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit d01ad8dd56527be72947b4b9997bb2c05783c3ed Author: Jan Beulich Date: Wed May 2 19:27:10 2007 +0200 [PATCH] x86: Improve handling of kernel mappings in change_page_attr Fix various broken corner cases in i386 and x86-64 change_page_attr. AK: split off from tighten kernel image access rights Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 90a0a06aa81692028864c21f981905fda46b1208 Author: Rusty Russell Date: Wed May 2 19:27:10 2007 +0200 [PATCH] i386: rationalize paravirt wrappers paravirt.c used to implement native versions of all low-level functions. Far cleaner is to have the native versions exposed in the headers and as inline native_XXX, and if !CONFIG_PARAVIRT, then simply #define XXX native_XXX. There are several nice side effects: 1) write_dt_entry() now takes the correct "struct Xgt_desc_struct *" not "void *". 2) load_TLS is reintroduced to the for loop, not manually unrolled with a #error in case the bounds ever change. 3) Macros become inlines, with type checking. 4) Access to the native versions is trivial for KVM, lguest, Xen and others who might want it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Avi Kivity Signed-off-by: Andrew Morton commit 52de74dd3994e165ef1b35c33d54655a6400e30c Author: Sebastien Dugue Date: Wed May 2 19:27:10 2007 +0200 [PATCH] i386: Rename boot_gdt_table to boot_gdt Rename boot_gdt_table to boot_gdt to avoid the duplicate T(able). Signed-off-by: Sebastien Dugue Signed-off-by: Andi Kleen Acked-by: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton commit d2cbcc49e2bfd6eaa44d7e4e5e5f171aaa5ec80d Author: Rusty Russell Date: Wed May 2 19:27:10 2007 +0200 [PATCH] i386: clean up cpu_init() We now have cpu_init() and secondary_cpu_init() doing nothing but calling _cpu_init() with the same arguments. Rename _cpu_init() to cpu_init() and use it as a replcement for secondary_cpu_init(). Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit bf50467204b435421d8de33ad080fa46c6f3d50b Author: Rusty Russell Date: Wed May 2 19:27:10 2007 +0200 [PATCH] i386: Use per-cpu GDT immediately upon boot Now we are no longer dynamically allocating the GDT, we don't need the "cpu_gdt_table" at all: we can switch straight from "boot_gdt_table" to the per-cpu GDT. This means initializing the cpu_gdt array in C. The boot CPU uses the per-cpu var directly, then in smp_prepare_cpus() it switches to the per-cpu copy just allocated. For secondary CPUs, the early_gdt_descr is set to point directly to their per-cpu copy. For UP the code is very simple: it keeps using the "per-cpu" GDT as per SMP, but we never have to move. Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit ae1ee11be77f51cedb6c569887dddc70c163ab6d Author: Rusty Russell Date: Wed May 2 19:27:10 2007 +0200 [PATCH] i386: Use per-cpu variables for GDT, PDA Allocating PDA and GDT at boot is a pain. Using simple per-cpu variables adds happiness (although we need the GDT page-aligned for Xen, which we do in a followup patch). [akpm@linux-foundation.org: build fix] Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 8f9aeca7a081d81c4c9862be1e04f15b5ab5461f Author: Bernhard Walle Date: Wed May 2 19:27:10 2007 +0200 [PATCH] x86: add command line length to boot protocol Because the command line is increased to 2048 characters after 2.6.21, it's not possible for boot loaders and userspace tools to determine the length of the command line the kernel can understand. The benefit of knowing the length is that users can be warned if the command line size is too long which prevents surprise if things don't work after bootup. This patch updates the boot protocol to contain a field called "cmdline_size" that contain the length of the command line (excluding the terminating zero). The patch also adds missing fields (of protocol version 2.05) to the x86_64 setup code. Signed-off-by: Bernhard Walle Signed-off-by: Andi Kleen Cc: Alon Bar-Lev Acked-by: H. Peter Anvin Cc: Andi Kleen Signed-off-by: Andrew Morton commit 79e030114a8d97a1dcd593ab84fb986f8c91c536 Author: Ian Campbell Date: Wed May 2 19:27:09 2007 +0200 [PATCH] i386: Allow i386 crash kernels to handle x86_64 dumps The specific case I am encountering is kdump under Xen with a 64 bit hypervisor and 32 bit kernel/userspace. The dump created is 64 bit due to the hypervisor but the dump kernel is 32 bit for maximum compatibility. It's possibly less likely to be useful in a purely native scenario but I see no reason to disallow it. [akpm@linux-foundation.org: build fix] Signed-off-by: Ian Campbell Signed-off-by: Andi Kleen Acked-by: Vivek Goyal Cc: Horms Cc: Magnus Damm Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton commit eab0c72aecd7982b2c848f7d493ba379efcef15e Author: Rusty Russell Date: Wed May 2 19:27:09 2007 +0200 [PATCH] x86-64: Introduce load_TLS to the "for" loop. GCC (4.1 at least) unrolls it anyway, but I can't believe this code was ever justifiable. (I've also submitted a patch which cleans up i386, which is even uglier). Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 692174b97d5b871f4b0f648b1fb17aa37b955876 Author: Rusty Russell Date: Wed May 2 19:27:09 2007 +0200 [PATCH] i386: Initialize esp0 properly all the time Whenever we schedule, __switch_to calls load_esp0 which does: tss->esp0 = thread->esp0; This is never initialized for the initial thread (ie "swapper"), so when we're scheduling that, we end up setting esp0 to 0. This is fine: the swapper never leaves ring 0, so this field is never used. lguest, however, gets upset that we're trying to used an unmapped page as our kernel stack. Rather than work around it there, let's initialize it. Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 1b523fb54977c9bb81b16c4badce581a2b455994 Author: Andrew Morton Date: Wed May 2 19:27:09 2007 +0200 [PATCH] i386: VDSO_PRELINK warning fix The lguest patches somehow managed to trigger this: In file included from arch/i386/lguest/lguest.c:38: include/asm/asm-offsets.h:67:1: warning: "VDSO_PRELINK" redefined In file included from include/linux/elf.h:7, from include/linux/module.h:15, from include/linux/device.h:21, from include/linux/interrupt.h:15, from arch/i386/lguest/lguest.c:27: include/asm/elf.h:140:1: warning: this is the location of the previous definition I assume that using the same identifier twice was a bad idea.. Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 20280195f2a3d80c42a190959ca22108c93cd7e0 Author: David Rientjes Date: Wed May 2 19:27:09 2007 +0200 [PATCH] x86-64: fake numa for cpusets document Create a document to explain how to use numa=fake in conjunction with cpusets for coarse memory resource management. An attempt to get more awareness and testing for this feature. Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Cc: Paul Jackson Cc: Christoph Lameter Signed-off-by: Andrew Morton commit d824395c5994adbf7efe377cc67f732133270554 Author: Joerg Roedel Date: Wed May 2 19:27:09 2007 +0200 [PATCH] x86: remove constant_tsc reporting from /proc/cpuinfo' power flags remove the reporting of the constant_tsc flag from the "power management" field in /proc/cpuinfo. The NULL value there was replaced by "" because the former would result in a printout of [8] if the flag is set. Signed-off-by: Joerg Roedel Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 382591d500bbcd20a44416c5e0e292708468587c Author: David Rientjes Date: Wed May 2 19:27:09 2007 +0200 [PATCH] x86-64: fixed size remaining fake nodes Extends the numa=fake x86_64 command-line option to split the remaining system memory into nodes of fixed size. Any leftover memory is allocated to a final node unless the command-line ends with a comma. For example: numa=fake=2*512,*128 gives two 512M nodes and the remaining system memory is split into nodes of 128M each. This is beneficial for systems where the exact size of RAM is unknown or not necessarily relevant, but the size of the remaining nodes to be allocated is known based on their capacity for resource management. Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Cc: Paul Jackson Cc: Christoph Lameter Signed-off-by: Andrew Morton commit 14694d736bb66d0ec250d05c81c6e98a19c229c6 Author: David Rientjes Date: Wed May 2 19:27:09 2007 +0200 [PATCH] x86-64: split remaining fake nodes equally Extends the numa=fake x86_64 command-line option to split the remaining system memory into equal-sized nodes. For example: numa=fake=2*512,4* gives two 512M nodes and the remaining system memory is split into four approximately equal chunks. This is beneficial for systems where the exact size of RAM is unknown or not necessarily relevant, but the granularity with which nodes shall be allocated is known. Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Cc: Paul Jackson Cc: Christoph Lameter Signed-off-by: Andrew Morton commit 8b8ca80e192b10eecc01fc44a2902510af86f73b Author: David Rientjes Date: Wed May 2 19:27:09 2007 +0200 [PATCH] x86-64: configurable fake numa node sizes Extends the numa=fake x86_64 command-line option to allow for configurable node sizes. These nodes can be used in conjunction with cpusets for coarse memory resource management. The old command-line option is still supported: numa=fake=32 gives 32 fake NUMA nodes, ignoring the NUMA setup of the actual machine. But now you may configure your system for the node sizes of your choice: numa=fake=2*512,1024,2*256 gives two 512M nodes, one 1024M node, two 256M nodes, and the rest of system memory to a sixth node. The existing hash function is maintained to support the various node sizes that are possible with this implementation. Each node of the same size receives roughly the same amount of available pages, regardless of any reserved memory with its address range. The total available pages on the system is calculated and divided by the number of equal nodes to allocate. These nodes are then dynamically allocated and their borders extended until such time as their number of available pages reaches the required size. Configurable node sizes are recommended when used in conjunction with cpusets for memory control because it eliminates the overhead associated with scanning the zonelists of many smaller full nodes on page_alloc(). Cc: Andi Kleen Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Cc: Paul Jackson Cc: Christoph Lameter Signed-off-by: Andrew Morton commit 8280c0c58e9762a9fe29d550a9db81410de77691 Author: Ahmed S. Darwish Date: Wed May 2 19:27:09 2007 +0200 [PATCH] i386: fix GDT's number of quadwords in comment Fix comments to represent the true number of quadwords in GDT. Signed-off-by: Ahmed S. Darwish Signed-off-by: Andi Kleen Acked-by: Randy Dunlap Signed-off-by: Andrew Morton commit 8eb68faed9e077c45c2bab5fce7c4e371fe9c28f Author: Adrian Bunk Date: Wed May 2 19:27:09 2007 +0200 [PATCH] i386: vmi_pmd_clear() static This patch makes the needlessly global vmi_pmd_clear() static. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Acked-by: Zachary Amsden Signed-off-by: Andrew Morton commit 786142fab86cfddd3e7797e9ccf8a8a3bcaf0456 Author: Adrian Bunk Date: Wed May 2 19:27:09 2007 +0200 [PATCH] x86-64: make simnow_init() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit f0e13ae76a607eab9c387544ebca550f2196a876 Author: Yinghai Lu Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: remove extra smp_processor_id calling Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 9f7290ed23b1cedf7198ef7b67f2ed256bc8553e Author: Ralf Baechle Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: fix ia32_binfmt.c build error Reorder code to avoid multiple inclusion of elf.h. #undef several symbols to avoid build errors over redefinitions. Signed-off-by: Ralf Baechle Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 5a90cf205c922707ffed2d8f87cefd942e96b0ba Author: john stultz Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86: Log reason why TSC was marked unstable Change mark_tsc_unstable() so it takes a string argument, which holds the reason the TSC was marked unstable. This is then displayed the first time mark_tsc_unstable is called. This should help us better debug why the TSC was marked unstable on certain systems and allow us to make sure we're not being overly paranoid when throwing out this troublesome clocksource. Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 2714221985ce6388ec2fa78d7d52e2a5bef78eec Author: Adrian Bunk Date: Wed May 2 19:27:08 2007 +0200 [PATCH] i386: workaround for a -Wmissing-prototypes warning Work around a warning with -Wmissing-prototypes in arch/i386/kernel/asm-offsets.c The warning isn't gcc's fault - asm-offsets.c is simply a special file. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit e48b30c189559e20e1f616faccae487972486320 Author: Ken Chen Date: Wed May 2 19:27:08 2007 +0200 [PATCH] i386: type cast clean up for find_next_zero_bit clean up unneeded type cast by properly declare data type. Signed-off-by: Ken Chen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 30a1528d3bf444eac7f2886ba284da22114b2f7c Author: Adrian Bunk Date: Wed May 2 19:27:08 2007 +0200 [PATCH] i386: make struct vmi_ops static Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Zachary Amsden Signed-off-by: Andrew Morton commit 1833d6bc72893265f22addd79cf52e6987496e0f Author: Vivek Goyal Date: Wed May 2 19:27:08 2007 +0200 [PATCH] i386: modpost apic related warning fixes o Modpost generates warnings for i386 if compiled with CONFIG_RELOCATABLE=y WARNING: vmlinux - Section mismatch: reference to .init.text:find_unisys_acpi_oem_table from .text between 'acpi_madt_oem_check' (at offset 0xc0101eda) and 'enable_apic_mode' WARNING: vmlinux - Section mismatch: reference to .init.text:acpi_get_table_header_early from .text between 'acpi_madt_oem_check' (at offset 0xc0101ef0) and 'enable_apic_mode' WARNING: vmlinux - Section mismatch: reference to .init.text:parse_unisys_oem from .text between 'acpi_madt_oem_check' (at offset 0xc0101f2e) and 'enable_apic_mode' WARNING: vmlinux - Section mismatch: reference to .init.text:setup_unisys from .text between 'acpi_madt_oem_check' (at offset 0xc0101f37) and 'enable_apic_mode'WARNING: vmlinux - Section mismatch: reference to .init.text:parse_unisys_oem from .text between 'mps_oem_check' (at offset 0xc0101ec7) and 'acpi_madt_oem_check' WARNING: vmlinux - Section mismatch: reference to .init.text:es7000_sw_apic from .text between 'enable_apic_mode' (at offset 0xc0101f48) and 'check_apicid_present' o Some functions which are inline (acpi_madt_oem_check) are not inlined by compiler as these functions are accessed using function pointer. These functions are put in .text section and they in-turn access __init type functions hence modpost generates warnings. o Do not iniline acpi_madt_oem_check, instead make it __init. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Len Brown Signed-off-by: Andrew Morton commit e073ae1b34d5600ffc550407625dcb2d4cf46c6e Author: Ravikiran G Thirumalai Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: Set HASHDIST_DEFAULT to 1 for x86_64 NUMA Enable system hashtable memory to be distributed among nodes on x86_64 NUMA Forcing the kernel to use node interleaved vmalloc instead of bootmem for the system hashtable memory (alloc_large_system_hash) reduces the memory imbalance on node 0 by around 40MB on a 8 node x86_64 NUMA box: Before the following patch, on bootup of a 8 node box: Node 0 MemTotal: 3407488 kB Node 0 MemFree: 3206296 kB Node 0 MemUsed: 201192 kB Node 0 Active: 7012 kB Node 0 Inactive: 512 kB Node 0 Dirty: 0 kB Node 0 Writeback: 0 kB Node 0 FilePages: 1912 kB Node 0 Mapped: 420 kB Node 0 AnonPages: 5612 kB Node 0 PageTables: 468 kB Node 0 NFS_Unstable: 0 kB Node 0 Bounce: 0 kB Node 0 Slab: 5408 kB Node 0 SReclaimable: 644 kB Node 0 SUnreclaim: 4764 kB After the patch (or using hashdist=1 on the kernel command line): Node 0 MemTotal: 3407488 kB Node 0 MemFree: 3247608 kB Node 0 MemUsed: 159880 kB Node 0 Active: 3012 kB Node 0 Inactive: 616 kB Node 0 Dirty: 0 kB Node 0 Writeback: 0 kB Node 0 FilePages: 2424 kB Node 0 Mapped: 380 kB Node 0 AnonPages: 1200 kB Node 0 PageTables: 396 kB Node 0 NFS_Unstable: 0 kB Node 0 Bounce: 0 kB Node 0 Slab: 6304 kB Node 0 SReclaimable: 1596 kB Node 0 SUnreclaim: 4708 kB I guess it is a good idea to keep HASHDIST_DEFAULT "on" for x86_64 NUMA since x86_64 has no dearth of vmalloc space? Or maybe enable hash distribution for all 64bit NUMA arches? The following patch does it only for x86_64. I ran a HPC MPI benchmark -- 'Ansys wingsolid', which takes up quite a bit of memory and uses up tlb entries. This was on a 4 way, 2 socket Tyan AMD box (non vsmp), with 8G total memory (4G pernode). The results with and without hash distribution are: 1. Vanilla - runtime of 1188.000s 2. With hashdist=1 runtime of 1154.000s Oprofile output for the duration of run is: 1. Vanilla: PU: AMD64 processors, speed 2411.16 MHz (estimated) Counted L1_AND_L2_DTLB_MISSES events (L1 and L2 DTLB misses) with a unit mask of 0x00 (No unit mask) count 500 samples % app name symbol name 163054 6.5513 libansys1.so MultiFront::decompose(int, int, Elemset *, int *, int, int, int) 162061 6.5114 libansys3.so blockSaxpy6L_fd 162042 6.5107 libansys3.so blockInnerProduct6L_fd 156286 6.2794 libansys3.so maxb33_ 87879 3.5309 libansys1.so elmatrixmultpcg_ 84857 3.4095 libansys4.so saxpy_pcg 58637 2.3560 libansys4.so .st4560 46612 1.8728 libansys4.so .st4282 43043 1.7294 vmlinux-t copy_user_generic_string 41326 1.6604 libansys3.so blockSaxpyBackSolve6L_fd 41288 1.6589 libansys3.so blockInnerProductBackSolve6L_fd 2. With hashdist=1 CPU: AMD64 processors, speed 2411.13 MHz (estimated) Counted L1_AND_L2_DTLB_MISSES events (L1 and L2 DTLB misses) with a unit mask of 0x00 (No unit mask) count 500 samples % app name symbol name 162993 6.9814 libansys1.so MultiFront::decompose(int, int, Elemset *, int *, int, int, int) 160799 6.8874 libansys3.so blockInnerProduct6L_fd 160459 6.8729 libansys3.so blockSaxpy6L_fd 156018 6.6826 libansys3.so maxb33_ 84700 3.6279 libansys4.so saxpy_pcg 83434 3.5737 libansys1.so elmatrixmultpcg_ 58074 2.4875 libansys4.so .st4560 46000 1.9703 libansys4.so .st4282 41166 1.7632 libansys3.so blockSaxpyBackSolve6L_fd 41033 1.7575 libansys3.so blockInnerProductBackSolve6L_fd 35762 1.5318 libansys1.so inner_product_sub 35591 1.5245 libansys1.so inner_product_sub2 28259 1.2104 libansys4.so addVectors Signed-off-by: Pravin B. Shelar Signed-off-by: Ravikiran Thirumalai Signed-off-by: Shai Fultheim Signed-off-by: Andi Kleen Acked-by: Christoph Lameter Cc: Andi Kleen Signed-off-by: Andrew Morton commit d039c688c6b3e7217381d2804bc0ca3171913fec Author: Andi Kleen Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: Minor white space cleanup in traps.c Signed-off-by: Andi Kleen commit fb60b8392ce8ab185a7a0b4f7cefbe18b2afdab5 Author: Andi Kleen Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: Allow sys_uselib unconditionally Previously it wasn't enabled in the binfmt_aout is a module case. Signed-off-by: Andi Kleen commit 1652fcbf37abdbbebaf386b46b20e486769e7b45 Author: Andi Kleen Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: Don't disable basic block reordering When compiling with -Os (which is default) the compiler defaults to it anyways. And with -O2 it probably generates somewhat better (although also larger) code. Signed-off-by: Andi Kleen commit 184c44d2049c4db7ef6ec65794546954da2c6a0e Author: Andrew Morton Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: fix x86_64-mm-sched-clock-share Fix for the following patch. Provide dummy cpufreq functions when CPUFREQ is not compiled in. Cc: Andi Kleen Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit a4831e08b7f3ed51623c9eb25e8c945b76b3eda3 Author: Vivek Goyal Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: Move cpu verification code to common file o This patch moves the code to verify long mode and SSE to a common file. This code is now shared by trampoline.S, wakeup.S, boot/setup.S and boot/compressed/head.S o So far we used to do very limited check in trampoline.S, wakeup.S and in 32bit entry point. Now all the entry paths are forced to do the exhaustive check, including SSE because verify_cpu is shared. o I am keeping this patch as last in the x86 relocatable series because previous patches have got quite some amount of testing done and don't want to distrub that. So that if there is problem introduced by this patch, at least it can be easily isolated. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 8035d3ea78c2a61a9738c7857742370e0aa74d5c Author: Vivek Goyal Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: Extend bzImage protocol for relocatable bzImage o Extend the bzImage protocol (same as i386) to allow bzImage loaders to load the protected mode kernel at non-1MB address. Now protected mode component is relocatable and can be loaded at non-1MB addresses. o As of today kdump uses it to run a second kernel from a reserved memory area. Signed-off-by: Vivek Goyal Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 6a50a664ca0cfd2a487525f10cec3ff4d570b5e8 Author: Vivek Goyal Date: Wed May 2 19:27:08 2007 +0200 [PATCH] x86-64: build-time checking o X86_64 kernel should run from 2MB aligned address for two reasons. - Performance. - For relocatable kernels, page tables are updated based on difference between compile time address and load time physical address. This difference should be multiple of 2MB as kernel text and data is mapped using 2MB pages and PMD should be pointing to a 2MB aligned address. Life is simpler if both compile time and load time kernel addresses are 2MB aligned. o Flag the error at compile time if one is trying to build a kernel which does not meet alignment restrictions. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton commit 1ab60e0f72f71ec54831e525a3e1154f1c092408 Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: Relocatable Kernel Support This patch modifies the x86_64 kernel so that it can be loaded and run at any 2M aligned address, below 512G. The technique used is to compile the decompressor with -fPIC and modify it so the decompressor is fully relocatable. For the main kernel the page tables are modified so the kernel remains at the same virtual address. In addition a variable phys_base is kept that holds the physical address the kernel is loaded at. __pa_symbol is modified to add that when we take the address of a kernel symbol. When loaded with a normal bootloader the decompressor will decompress the kernel to 2M and it will run there. This both ensures the relocation code is always working, and makes it easier to use 2M pages for the kernel and the cpu. AK: changed to not make RELOCATABLE default in Kconfig Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 0dbf7028c0c1f266c9631139450a1502d3cd457e Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86: __pa and __pa_symbol address space separation Currently __pa_symbol is for use with symbols in the kernel address map and __pa is for use with pointers into the physical memory map. But the code is implemented so you can usually interchange the two. __pa which is much more common can be implemented much more cheaply if it is it doesn't have to worry about any other kernel address spaces. This is especially true with a relocatable kernel as __pa_symbol needs to peform an extra variable read to resolve the address. There is a third macro that is added for the vsyscall data __pa_vsymbol for finding the physical addesses of vsyscall pages. Most of this patch is simply sorting through the references to __pa or __pa_symbol and using the proper one. A little of it is continuing to use a physical address when we have it instead of recalculating it several times. swapper_pgd is now NULL. leave_mm now uses init_mm.pgd and init_mm.pgd is initialized at boot (instead of compile time) to the physmem virtual mapping of init_level4_pgd. The physical address changed. Except for the for EMPTY_ZERO page all of the remaining references to __pa_symbol appear to be during kernel initialization. So this should reduce the cost of __pa in the common case, even on a relocated kernel. As this is technically a semantic change we need to be on the lookout for anything I missed. But it works for me (tm). Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 1b29c1643c0d82512477ccd97dc290198fe23e22 Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: do not use virt_to_page on kernel data address o virt_to_page() call should be used on kernel linear addresses and not on kernel text and data addresses. Swsusp code uses it on kernel data (statically allocated swsusp_header). o Allocate swsusp_header dynamically so that virt_to_page() can be used safely. o I am changing this because in next few patches, __pa() on x86_64 will no longer support kernel text and data addresses and hibernation breaks. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 49c3df6aaa6a51071fc135273d1a2515d019099f Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86: Move swsusp __pa() dependent code to arch portion o __pa() should be used only on kernel linearly mapped virtual addresses and not on kernel text and data addresses. o Hibernation code needs to determine the physical address associated with kernel symbol to mark a section boundary which contains pages which don't have to be saved and restored during hibernate/resume operation. o Move this piece of code in arch dependent section. So that architectures which don't have kernel text/data mapped into kernel linearly mapped region can come up with their own ways of determining physical addresses associated with a kernel text. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit cfd243d4af7c7f8f52f5cb99d3932d9074b039ff Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: Remove the identity mapping as early as possible With the rewrite of the SMP trampoline and the early page allocator there is nothing that needs identity mapped pages, once we start executing C code. So add zap_identity_mappings into head64.c and remove zap_low_mappings() from much later in the code. The functions are subtly different thus the name change. This also kills boot_level4_pgt which was from an earlier attempt to move the identity mappings as early as possible, and is now no longer needed. Essentially I have replaced boot_level4_pgt with trampoline_level4_pgt in trampoline.S Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit bdb96a6614cfaba24e23dd9de4040c068c3af19b Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: Modify discover_ebda to use virtual addresses Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit d8e1baf10d62c06fc52e89137357e54da3d92672 Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: 64bit ACPI wakeup trampoline o Moved wakeup_level4_pgt into the wakeup routine so we can run the kernel above 4G. o Now we first go to 64bit mode and continue to run from trampoline and then then start accessing kernel symbols and restore processor context. This enables us to resume even in relocatable kernel context when kernel might not be loaded at physical addr it has been compiled for. o Removed the need for modifying any existing kernel page table. o Increased the size of the wakeup routine to 8K. This is required as wake page tables are on trampoline itself and they got to be at 4K boundary, hence one page is not sufficient. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 275f55170ec2b5d777b070cb8ab9e5d58e65a2a8 Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: wakeup.S misc cleanups o Various cleanups. One of the main purpose of cleanups is that make wakeup.S as close as possible to trampoline.S. o Following are the changes - Indentations for comments. - Changed the gdt table to compact form and to resemble the one in trampoline.S - Take the jump to 32bit from real mode using ljmpl. Makes code more readable. - After enabling long mode, directly take a long jump for 64bit mode. No need to take an extra jump to "reach_comaptibility_mode" - Stack is not used after real mode. So don't load stack in 32 bit mode. - No need to enable PGE here. - No need to do extra EFER read, anyway we trash the read contents. - No need to enable system call (EFER_SCE). Anyway it will be enabled when original EFER is restored. - No need to set MP, ET, NE, WP, AM bits in cr0. Very soon we will reload the original cr0 while restroing the processor state. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 7db681d7e4038ad205b5face5cf7f7815633e1b5 Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: wakeup.S rename registers to reflect right names o Use appropriate names for 64bit regsiters. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 7c17e70613d2c70f9d5d0b5d37126fd5e8e9b728 Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: Get rid of dead code in suspend resume o Get rid of dead code in wakeup.S o We never restore from saved_gdt, saved_idt, saved_ltd, saved_tss, saved_cr3, saved_cr4, saved_cr0, real_save_gdt, saved_efer, saved_efer2. Get rid of of associated code. o Get rid of bogus_magic, bogus_31_magic and bogus_magic2. No longer being used. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 90b1c2085ea1955641e60a4f0acd63fdc271cd0b Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: 64bit PIC SMP trampoline This modifies the SMP trampoline and all of the associated code so it can jump to a 64bit kernel loaded at an arbitrary address. The dependencies on having an idenetity mapped page in the kernel page tables for SMP bootup have all been removed. In addition the trampoline has been modified to verify that long mode is supported. Asking if long mode is implemented is down right silly but we have traditionally had some of these checks, and they can't hurt anything. So when the totally ludicrous happens we just might handle it correctly. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 3c321bceb4a626639ab43a5a24d884930e511826 Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: Add EFER to the register set saved by save_processor_state EFER varies like %cr4 depending on the cpu capabilities, and which cpu capabilities we want to make use of. So save/restore it make certain we have the same EFER value when we are done. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 30f472895401fbe8e64f861a2569bc9acb098741 Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: cleanup segments Move __KERNEL32_CS up into the unused gdt entry. __KERNEL32_CS is used when entering the kernel so putting it first is useful when trying to keep boot gdt sizes to a minimum. Set the accessed bit on all gdt entries. We don't care so there is no need for the cpu to burn the extra cycles, and it potentially allows the pages to be immutable. Plus it is confusing when debugging and your gdt entries mysteriously change. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 278c0eb7f96586c02b2bfaa8e250d951919a2e6a Author: Vivek Goyal Date: Wed May 2 19:27:07 2007 +0200 [PATCH] x86-64: modify copy_bootdata to use virtual addresses Use virtual addresses instead of physical addresses in copy bootdata. In addition fix the implementation of the old bootloader convention. Everything is at real_mode_data always. It is just that sometimes real_mode_data was relocated by setup.S to not sit at 0x90000. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 93fd755e47d7b00fa5470199cfb14cbd9ded0284 Author: Vivek Goyal Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86-64: Fix early printk to use standard ISA mapping Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 67dcbb6bc6537aea92a2466bfc75f015b00e465e Author: Vivek Goyal Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86-64: Clean up the early boot page table - Merge physmem_pgt and ident_pgt, removing physmem_pgt. The merge is broken as soon as mm/init.c:init_memory_mapping is run. - As physmem_pgt is gone don't export it in pgtable.h. - Use defines from pgtable.h for page permissions. - Fix the physical memory identity mapping so it is at the correct address. - Remove the physical memory mapping from wakeup_level4_pgt it is at the wrong address so we can't possibly be usinging it. - Simply NEXT_PAGE the work to calculate the phys_ alias of the labels was very cool. Unfortuantely it was a brittle special purpose hack that makes maitenance more difficult. Instead just use label - __START_KERNEL_map like we do everywhere else in assembly. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit dafe41ee3a9389c08c91cdfd8670295f20f89e04 Author: Vivek Goyal Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86-64: Kill temp boot pmds Early in the boot process we need the ability to set up temporary mappings, before our normal mechanisms are initialized. Currently this is used to map pages that are part of the page tables we are building and pages during the dmi scan. The core problem is that we are using the user portion of the page tables to implement this. Which means that while this mechanism is active we cannot catch NULL pointer dereferences and we deviate from the normal ways of handling things. In this patch I modify early_ioremap to map pages into the kernel portion of address space, roughly where we will later put modules, and I make the discovery of which addresses we can use dynamic which removes all kinds of static limits and remove the dependencies on implementation details between different parts of the code. Now alloc_low_page() and unmap_low_page() use early_iomap() and early_iounmap() to allocate/map and unmap a page. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 9d291e787b2b71d1b57e5fbb24ba9c70e748ed84 Author: Vivek Goyal Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86-64: Assembly safe page.h and pgtable.h This patch makes pgtable.h and page.h safe to include in assembly files like head.S. Allowing us to use symbolic constants instead of hard coded numbers when refering to the page tables. This patch copies asm-sparc64/const.h to asm-x86_64 to get a definition of _AC() a very convinient macro that allows us to force the type when we are compiling the code in C and to drop all of the type information when we are using the constant in assembly. Previously this was done with multiple definition of the same constant. const.h was modified slightly so that it works when given CONFIG options as arguments. This patch adds #ifndef __ASSEMBLY__ ... #endif and _AC(1,UL) where appropriate so the assembler won't choke on the header files. Otherwise nothing should have changed. AK: added const.h to exported headers to fix headers_check Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit e65845045588806fa5c8df8a4f4253516515a5e3 Author: Stephen Hemminger Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86-64: dma_ops as const The dma_ops structure can be const since it never changes after boot. Signed-off-by: Stephen Hemminger Signed-off-by: Andi Kleen commit 19d1743315099665db4ce02c9942507a5ee1deea Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:06 2007 +0200 [PATCH] i386: Simplify smp_call_function*() by using common implementation smp_call_function and smp_call_function_single are almost complete duplicates of the same logic. This patch combines them by implementing them in terms of the more general smp_call_function_mask(). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Stephane Eranian Cc: Andrew Morton Cc: Andi Kleen Cc: "Randy.Dunlap" Cc: Ingo Molnar commit 6b37f5a20c0e5c334c010a587058354215433e92 Author: Joerg Roedel Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86-64: fix cpu MHz reporting on constant_tsc cpus This patch fixes the reporting of cpu_mhz in /proc/cpuinfo on CPUs with a constant TSC rate and a kernel with disabled cpufreq. Signed-off-by: Mark Langsdorf Signed-off-by: Joerg Roedel Signed-off-by: Andi Kleen arch/x86_64/kernel/apic.c | 2 - arch/x86_64/kernel/time.c | 58 +++++++++++++++++++++++++++++++++++++++--- arch/x86_64/kernel/tsc.c | 12 +++++--- arch/x86_64/kernel/tsc_sync.c | 2 - include/asm-x86_64/proto.h | 1 5 files changed, 65 insertions(+), 10 deletions(-) commit fbc16f2c2a0e16dbd75ac85d3b6db97f92b642ba Author: Glauber de Oliveira Costa Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86-64: Remove duplicated code for reading control registers On Tue, Mar 13, 2007 at 05:33:09AM -0700, Randy.Dunlap wrote: > On Tue, 13 Mar 2007, Glauber de Oliveira Costa wrote: > > > Tiny cleanup: > > > > In x86_64, the same functions for reading cr3 and writing cr{3,4} are > > defined in tlbflush.h and system.h, whith just a name change. > > The only difference is the clobbering of memory, which seems a safe, and > > even needed change for the write_cr4. This patch removes the duplicate. > > write_cr3() is moved to system.h for consistency. > > missing patch..... > thanks. Attached now -- Glauber de Oliveira Costa Red Hat Inc. "Free as in Freedom" Signed-off-by: Andi Kleen commit f9d09645d6157fefa18ff75930737060c8092ddb Author: Rusty Russell Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86-64: Remove unused set_seg_base The set_seg_base function isn't used anywhere (2.6.21-rc3-git1) Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen commit b0b1ff653a0ce88dc9d5cec4e67c9c2be0ba03ef Author: Lasse Collin Date: Wed May 2 19:27:06 2007 +0200 [PATCH] i386: Fix usage of -mtune when X86_GENERIC=y or CONFIG_MCORE2=y Hi! I sent this simple patch to lkml about two weeks ago and also cc'ed to Linus, but seems that the patch got ignored. I decided to write to you, because you have modified the relevant file most recently. Below is a copy of the mail that is also available at . Signed-off-by: Andi Kleen commit 973efae21beb2feda138f152ed06d4204774d93c Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:06 2007 +0200 [PATCH] i386: clean up mach_reboot_fixups The reboot_fixups stuff seems to be a bit of a mess, specifically the header is in linux/ when its a purely i386-specific piece of code. I'm not sure why it has its config option; its only currently needed for "geode-gx1/cs5530a", so perhaps whatever config option controls that hardware should enable this? Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 6d1c426158131b11d05d66e7dd6bf91e5b1b4fc7 Author: Aneesh Kumar K.V Date: Wed May 2 19:27:06 2007 +0200 [PATCH] i386: Update __copy_to_user_inatomic linuxdoc description Explicity specify that the caller should pin the user memory otherwise the function will sleep Signed-off-by: Aneesh Kumar K.V Signed-off-by: Andi Kleen commit c8fdd247255a3a027cd9f66dcf93e6847d1d2f85 Author: Andi Kleen Date: Wed May 2 19:27:06 2007 +0200 [PATCH] x86: Drop cc-options call for all options supported in gcc 3.2+ The kernel only supports gcc 3.2+ now so it doesn't make sense anymore to explicitely check for options this compiler version already has. This actually fixes a bug. The -mprefered-stack-boundary check never worked because gcc rightly complains CC arch/i386/kernel/asm-offsets.s cc1: -mpreferred-stack-boundary=2 is not between 4 and 12 We just never saw the error because of cc-options. I changed it to 4 to actually work. Tested by compiling i386 and x86-64 defconfig with gcc 3.2. Should speed up the build time a tiny bit and improve stack usage on i386 slightly. Signed-off-by: Andi Kleen commit 2a12652c0335ec90747d3402a82b6699ae883b58 Author: Andi Kleen Date: Wed May 2 19:27:06 2007 +0200 [PATCH] i386: Support Oprofile for AMD Family 10 CPUs Signed-off-by: Andi Kleen commit d9c93813ac17b34ee6eb7a424578acae6f90d759 Author: Andi Kleen Date: Wed May 2 19:27:05 2007 +0200 [PATCH] x86-64: Correct max number of CPUs in Kconfig Pointed out by Adrian Bunk Signed-off-by: Andi Kleen commit 86c0baf123e474b6eb404798926ecf62b426bf3a Author: Prarit Bhargava Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: Change sysenter_setup to __cpuinit & improve __INIT, __INITDATA Change sysenter_setup to __cpuinit. Change __INIT & __INITDATA to be cpu hotplug aware. Resolve MODPOST warnings similar to: WARNING: vmlinux - Section mismatch: reference to .init.text:sysenter_setup from .text between 'identify_cpu' (at offset 0xc040a380) and 'detect_ht' and WARNING: vmlinux - Section mismatch: reference to .init.data:vsyscall_int80_end from .text between 'sysenter_setup' (at offset 0xc041a269) and 'enable_sep_cpu' WARNING: vmlinux - Section mismatch: reference to .init.data:vsyscall_int80_start from .text between 'sysenter_setup' (at offset 0xc041a26e) and 'enable_sep_cpu' WARNING: vmlinux - Section mismatch: reference to .init.data:vsyscall_sysenter_end from .text between 'sysenter_setup' (at offset 0xc041a275) and 'enable_sep_cpu' WARNING: vmlinux - Section mismatch: reference to .init.data:vsyscall_sysenter_start from .text between 'sysenter_setup' (at offset 0xc041a27a) and 'enable_sep_cpu' Signed-off-by: Prarit Bhargava Signed-off-by: Andi Kleen commit e319af1d8722bc3fb61ed6968c88bb66fbb3f58e Author: Prarit Bhargava Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: Add __init to probe_bigsmp Add __init to probe_bigsmp. All callers are __init and data being examined is __initdata. Resolves MODPOST warning similar to: WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'probe_bigsmp' (at offset 0xc0401e56) and 'init_apic_ldr' Signed-off-by: Prarit Bhargava Signed-off-by: Andi Kleen commit 405e494d91bac85cc992f55ad434b0f325e399a5 Author: Stephane Eranian Date: Wed May 2 19:27:05 2007 +0200 [PATCH] x86-64: x86_64 make NMI use PERFCTR1 for architectural perfmon (take 2) Hello, This patch against 2.6.20-git14 makes the NMI watchdog use PERFSEL1/PERFCTR1 instead of PERFSEL0/PERFCTR0 on processors supporting Intel architectural perfmon, such as Intel Core 2. Although all PMU events can work on both counters, the Precise Event-Based Sampling (PEBS) requires that the event be in PERFCTR0 to work correctly (see section 18.14.4.1 in the IA32 SDM Vol 3b). This versions has 3 chunks compared to previous where we had missed on check. Changelog: - make the x86-64 NMI watchdog use PERFSEL1/PERFCTR1 instead of PERFSEL0/PERFCTR0 on processors supporting the Intel architectural perfmon (e.g. Core 2 Duo). This allows PEBS to work when the NMI watchdog is active. signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit bf8696ed6dfa561198b4736deaf11ab68dcc4845 Author: Stephane Eranian Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: i386 make NMI use PERFCTR1 for architectural perfmon (take 2) Hello, This patch against 2.6.20-git14 makes the NMI watchdog use PERFSEL1/PERFCTR1 instead of PERFSEL0/PERFCTR0 on processors supporting Intel architectural perfmon, such as Intel Core 2. Although all PMU events can work on both counters, the Precise Event-Based Sampling (PEBS) requires that the event be in PERFCTR0 to work correctly (see section 18.14.4.1 in the IA32 SDM Vol 3b). A similar patch for x86-64 is to follow. Changelog: - make the i386 NMI watchdog use PERFSEL1/PERFCTR1 instead of PERFSEL0/PERFCTR0 on processors supporting the Intel architectural perfmon (e.g. Core 2 Duo). This allows PEBS to work when the NMI watchdog is active. signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit 803d80f65038f77c4681a0d7708e9d693e68aaa8 Author: Andi Kleen Date: Wed May 2 19:27:05 2007 +0200 [PATCH] x86-64: Some cleanup in time.c Move prototypes into header files Remove unneeded includes. Signed-off-by: Andi Kleen commit d18951834216eae82e2f9112416111b4f55f1849 Author: Andi Kleen Date: Wed May 2 19:27:05 2007 +0200 [PATCH] x86: Fix i386 and x86_64 fault information pollution a userspace fault or a kernelspace fault which will result in the immediate death of the process. They should not be filled in as a result of a kernelspace fault which can be fixed up. Otherwise, if the process is handling SIGSEGV and examining the fault information, this can result in the kernel space fault trashing the previously stored fault information if it arrives between the userspace fault happening and the SIGSEGV being delivered to the process. Signed-off-by: Jeff Dike Signed-off-by: Andi Kleen Acked-by: Jan Beulich -- arch/i386/kernel/traps.c | 24 ++++++++++++++++++------ arch/x86_64/kernel/traps.c | 30 +++++++++++++++++++++++------- 2 files changed, 41 insertions(+), 13 deletions(-) commit 00e065ea587363e538d9624eea8cacad12cb7397 Author: Jan Beulich Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: Add dwarf2 annotations to *_user and checksum functions Signed-off-by: Andi Kleen commit 3755090722e5a9c44780e5461ed9e49ab542bc73 Author: Jan Beulich Date: Wed May 2 19:27:05 2007 +0200 [PATCH] x86-64: a few missing entry.S annotations Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 0adad171c2334d43fc2fa208f6b45e88f0679427 Author: Rene Herman Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: probe_roms() cleanup Remove the assumption that if the first page of a legacy ROM is mapped, it'll all be mapped. This'll also stop people reading this code from wondering if they're looking at a bug... Signed-off-by: Rene Herman Signed-off-by: Martin Murray Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Zachary Amsden Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 0949be35095b53dbaa72db700cb5074c5c249629 Author: Simon Arlott Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: Add an option for the VIA C7 which sets appropriate L1 cache The VIA C7 is a 686 (with TSC) that supports MMX, SSE and SSE2, it also has a cache line length of 64 according to http://www.digit-life.com/articles2/cpu/rmma-via-c7.html. This patch sets gcc to -march=686 and select s the correct cache shift. Signed-off-by: Simon Arlott Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Dave Jones Cc: Alan Cox Signed-off-by: Andrew Morton commit f5e8861583a591020176c90c10c6a130fed4f3ec Author: takada Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: pit_latch_buggy has no effect Eliminated the arch/i386/kernel/timers in 2.6.18, use clocksoures instead. pit_latch_buggy was referred in timers/timer_tsc.c, and currently removed. Therefore nobody refer it. Until 2.6.17, MediaGX's TSC works correctly. after 2.6.18, warned "TSC appears to be running slowly. Marking it as unstable". So marked unstable TSC when CS55x0. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 9215da33209b861b01c51382254b178a3fe92a30 Author: Jan Beulich Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: mtrr range check correction Whether a region is below 1Mb is determined by its start rather than its end. This hunk got erroneously dropped from a previous patch. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit f76c392380a40008ee6ecaea4e5a51a3a10282c4 Author: Jeremy Fitzhardinge Date: Wed May 2 19:27:05 2007 +0200 [PATCH] i386: No need to use -traditional for processing asm in i386/kernel/ No need to use -traditional for processing asm in i386/kernel/ Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen commit 9964cf7d776600724ef5f1b33303ceadc588b8ba Author: Jan Beulich Date: Wed May 2 19:27:05 2007 +0200 [PATCH] x86: consolidate smp_send_stop() Synchronize i386's smp_send_stop() with x86-64's in only try-locking the call lock to prevent deadlocks when called from panic(). In both version, disable interrupts before clearing the CPU off the online map to eliminate races with IRQ handlers inspecting this map. Also in both versions, save/restore interrupts rather than disabling/ enabling them. On x86-64, eliminate one function used here by folding it into its single caller, convert to static, and rename for consistency with i386 (lkcd may like this). Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit b0354795c9c8fef2fadf8f867586c78efd9a1dc9 Author: Jan Beulich Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86-64: adjust inclusion of asm/vsyscall32.h Avoid including asm/vsyscall32.h in virtually every source file. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 00f1ea696702163b7411d2316264525996c66ed3 Author: Jan Beulich Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86: adjust inclusion of asm/fixmap.h Move inclusion of asm/fixmap.h to where it is really used rather than where it may have been used long ago (requires a few other adjustments to includes due to previous implicit dependencies). Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 28609f6e4921ebb75ceaf5317454b8047b07cef4 Author: Jan Beulich Date: Wed May 2 19:27:04 2007 +0200 [PATCH] i386: adjustments to page table dump during oops (v4) - make the page table contents printing PAE capable - make sure the address stored in current->thread.cr2 is unmodified from what was read from CR2 - don't call oops_may_print() multiple times, when one time suffices - print pte even in highpte case, as long as the pte page isn't in actually in high memory (which is specifically the case for all page tables covering kernel space) (Changes to v3: Use sizeof()*2 rather than the suggested sizeof()*4 for printing width, use fixed 16-nibble width for PAE, and also apply the max_low_pfn range check to the middle level lookup on PAE.) Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 3c43f03908de98fa8f7a9e8fc9411ebf4c2de298 Author: Ingo Molnar Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86: default to physical mode on hotplug CPU kernels Default to physical mode on hotplug CPU kernels. Furher simplify and clean up the APIC initialization code. Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Cc: Suresh Siddha Cc: Andi Kleen Cc: "Li, Shaohua" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton commit 424df390101f9dfe015f0633aaec696c159b37a8 Author: Ingo Molnar Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86-64: remove clustered APIC mode Remove now unused clustered APIC mode code. Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Cc: Suresh Siddha Cc: Andi Kleen Cc: "Li, Shaohua" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton commit 07c7c4744400f93a7c52b32159c31d823e1747a5 Author: Ingo Molnar Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86-64: always use physical delivery mode on > 8 CPUs Remove clustered APIC mode. There's little point in the use of clustered APIC mode, broadcasting is limited to within the cluster only, and chipsets have bugs in this area as well. So default to physical APIC mode when the CPU count is large, and default to logical APIC mode when the CPU count is 8 or smaller. (this patch only removes the use of genapic_cluster and cleans up the resulting genapic.c file - removal of all remaining traces of clustered mode will be done by another patch.) Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Cc: Suresh Siddha Cc: Andi Kleen Cc: "Li, Shaohua" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton commit f18d397e6aa5cde638d164b1d519c3ee903f4867 Author: Ingo Molnar Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86-64: optimize & fix APIC mode setup Fix a couple of inconsistencies/problems I found while reviewing the x86_64 genapic code (when I was chasing mysterious eth0 timeouts that would only trigger if CPU_HOTPLUG is enabled): - AMD systems defaulted to the slower flat-physical mode instead of the flat-logical mode. The only restriction on AMD systems is that they should not use clustered APIC mode. - removed the CPU hotplug hacks, switching the default for small systems back from phys-flat to logical-flat. The switching to logical flat mode on small systems fixed sporadic ethernet driver timeouts i was getting on a dual-core Athlon64 system: NETDEV WATCHDOG: eth0: transmit timed out eth0: Transmit timeout, status 0c 0005 c07f media 80. eth0: Tx queue start entry 32 dirty entry 28. eth0: Tx descriptor 0 is 0008a04a. (queue head) eth0: Tx descriptor 1 is 0008a04a. eth0: Tx descriptor 2 is 0008a04a. eth0: Tx descriptor 3 is 0008a04a. eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1 - The use of '<= 8' was a bug by itself (the valid APIC ids for logical flat mode go from 0 to 7, not 0 to 8). The new logic is to use logical flat mode on both AMD and Intel systems, and to only switch to physical mode when logical mode cannot be used. If CPU hotplug is racy wrt. APIC shutdown then CPU hotplug needs fixing, not the whole IRQ system be made inconsistent and slowed down. - minor cleanups: simplified some code constructs build & booted on a couple of AMD and Intel SMP systems. Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen Cc: Suresh Siddha Cc: Andi Kleen Cc: "Li, Shaohua" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton commit a86f34b49f32b238d16b2e3bf6c9a5391a3f683f Author: Andrew Morton Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86: revert x86_64-mm-fix-the-irqbalance-quirk-for-e7320-e7520-e7525 Obsoleted by Ingo's genapic stuff. Cc: Ingo Molnar Cc: Suresh Siddha Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 3dc68d9b58ae644cee8e218e3dcde0dceb5c47a3 Author: Andrew Morton Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86-64: revert x86_64-mm-add-genapic_force This is obsoleted by new Ingo genapic patches. Cc: Suresh Siddha Cc: Andi Kleen Cc: "Li, Shaohua" Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit fb27145d6ad2548d2d770f33ffa0a268c0afba85 Author: Andrew Morton Date: Wed May 2 19:27:04 2007 +0200 [PATCH] i386: revert i386-fix-the-verify_quirk_intel_irqbalance This is unneeded with Ingo's genapic rework. Cc: Suresh Siddha Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit bdd0dc5210b5bb35dbddd5b0bc742e65a812a067 Author: Andi Kleen Date: Wed May 2 19:27:04 2007 +0200 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit 2ca8c1a1269630473840835d1585adf2582b7c0b Author: Andi Kleen Date: Wed May 2 19:27:04 2007 +0200 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit a19b89cad51b6f0da8f4bafdfdcfb10264cbcdea Author: Jason Uhlenkott Date: Thu Apr 26 17:25:51 2007 -0700 NFS: Clean up nfs_create_request comments Remove some stale comments about hard limits which went away in 2.5. Signed-off-by: Jason Uhlenkott Signed-off-by: Trond Myklebust commit 61322b30139b79ec77170723a3a80043dcc94e87 Author: J. Bruce Fields - unquoted Date: Sat Feb 10 01:33:27 2007 -0500 spkm3: initialize hash There's an initialization step here I missed. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit b80e183deff5f3d43565b552ed91e511128a6ea9 Author: J. Bruce Fields - unquoted Date: Sat Feb 10 01:33:26 2007 -0500 spkm3: remove bad kfree, unnecessary export We're kfree()'ing something that was allocated on the stack! Also remove an unnecessary symbol export while we're at it. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit f32824d8ca9d3f84613ae2422070cc5469fe9e91 Author: J. Bruce Fields - unquoted Date: Sat Feb 10 01:33:25 2007 -0500 spkm3: fix spkm3's use of hmac I think I botched an attempt to keep an spkm3 patch up-to-date with a recent crypto api change. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 08efa202eb398ce7939885a4a01df370fd392068 Author: J. Bruce Fields Date: Tue May 1 10:56:25 2007 -0400 NFS4: invalidate cached acl on setacl The ACL that the server sets may not be exactly the one we set--for example, it may silently turn off bits that it does not support. So we should remove any cached ACL so that any subsequent request for the ACL will go to the server. Signed-off-by: "J. Bruce Fields" Signed-off-by: Trond Myklebust commit f6259deacfd55607ae57cff422d3bc7694ea14e7 Author: Simon Arlott Date: Wed May 2 22:08:26 2007 +1000 [CRYPTO] padlock: Remove pointless padlock module When this is compiled in it is run too early to do anything useful: [ 6.052000] padlock: No VIA PadLock drivers have been loaded. [ 6.052000] padlock: Using VIA PadLock ACE for AES algorithm. [ 6.052000] padlock: Using VIA PadLock ACE for SHA1/SHA256 algorithms. When it's a module it isn't doing anything special, the same functionality can be provided in userspace by "probeall padlock padlock-aes padlock-sha" in modules.conf if it is required. Signed-off-by: Simon Arlott Cc: Michal Ludvig Signed-off-by: Herbert Xu commit e196d6259141eda47aeafd88514aae652bfbfc7f Author: Herbert Xu Date: Sat Apr 14 16:09:14 2007 +1000 [CRYPTO] api: Add ablkcipher_request_set_tfm This patch adds ablkcipher_request_set_tfm for those users that need to manage the memory for ablkcipher requests directly. Signed-off-by: Herbert Xu commit 124b53d020622ffa24e27406f2373d5a3debd0d3 Author: Herbert Xu Date: Mon Apr 16 20:49:20 2007 +1000 [CRYPTO] cryptd: Add software async crypto daemon This patch adds the cryptd module which is a template that takes a synchronous software crypto algorithm and converts it to an asynchronous one by executing it in a kernel thread. Signed-off-by: Herbert Xu commit a73e69965fa2647faa36caf40f4132b9c99d61fd Author: Herbert Xu Date: Sun Apr 8 21:31:36 2007 +1000 [CRYPTO] api: Do not remove users unless new algorithm matches As it is whenever a new algorithm with the same name is registered users of the old algorithm will be removed so that they can take advantage of the new algorithm. This presents a problem when the new algorithm is not equivalent to the old algorithm. In particular, the new algorithm might only function on top of the existing one. Hence we should not remove users unless they can make use of the new algorithm. Signed-off-by: Herbert Xu commit cf02f5da9437201d57d93f529839dd40aac8b5f9 Author: Herbert Xu Date: Thu Mar 29 17:32:59 2007 +1000 [CRYPTO] cryptomgr: Fix parsing of nested templates This patch allows the use of nested templates by allowing the use of brackets inside a template parameter. Signed-off-by: Herbert Xu commit b5b7f08869340aa8cfa23303f7d195f161479592 Author: Herbert Xu Date: Mon Apr 16 20:48:54 2007 +1000 [CRYPTO] api: Add async blkcipher type This patch adds the mid-level interface for asynchronous block ciphers. It also includes a generic queueing mechanism that can be used by other asynchronous crypto operations in future. Signed-off-by: Herbert Xu commit ebc610e5bc76df073221e64e86c3f7533a09ea40 Author: Herbert Xu Date: Mon Jan 1 18:37:02 2007 +1100 [CRYPTO] templates: Pass type/mask when creating instances This patch passes the type/mask along when constructing instances of templates. This is in preparation for templates that may support multiple types of instances depending on what is requested. For example, the planned software async crypto driver will use this construct. For the moment this allows us to check whether the instance constructed is of the correct type and avoid returning success if the type does not match. Signed-off-by: Herbert Xu commit 6158efc09016d3186263f6fd3a50667446ec4008 Author: Herbert Xu Date: Wed Apr 4 17:41:07 2007 +1000 [CRYPTO] tcrypt: Use async blkcipher interface This patch converts the tcrypt module to use the asynchronous block cipher interface. As all synchronous block ciphers can be used through the async interface, tcrypt is still able to test them. Signed-off-by: Herbert Xu commit 32e3983fe590ac4cd70c7728eb330d43cef031a7 Author: Herbert Xu Date: Sat Mar 24 14:35:34 2007 +1100 [CRYPTO] api: Add async block cipher interface This patch adds the frontend interface for asynchronous block ciphers. In addition to the usual block cipher parameters, there is a callback function pointer and a data pointer. The callback will be invoked only if the encrypt/decrypt handlers return -EINPROGRESS. In other words, if the return value of zero the completion handler (or the equivalent code) needs to be invoked by the caller. The request structure is allocated and freed by the caller. Its size is determined by calling crypto_ablkcipher_reqsize(). The helpers ablkcipher_request_alloc/ablkcipher_request_free can be used to manage the memory for a request. Signed-off-by: Herbert Xu commit 03f5d8cedb31deb558cd97095730cbc8bc54b12a Author: Herbert Xu Date: Sun Dec 31 10:42:06 2006 +1100 [CRYPTO] api: Proc functions should be marked as unused The proc functions were incorrectly marked as used rather than unused. They may be unused if proc is disabled. Signed-off-by: Herbert Xu commit 5b68790cd5e2879067bcbc45b01eeb6081e7d731 Author: Ben Dooks Date: Tue May 1 23:26:35 2007 +0200 i2c-s3c2410: Fix bug in releasing driver When compiled as a module, the i2c-s3c2410 driver does not free either the IRQ or the i2c adapter it attached to the system. As part of this fix, move to the usual kernel style of freeing items as part of the probe error path making the remove process easier. Signed-off-by: Ben Dooks Signed-off-by: Jean Delvare commit e00a8cdf325346c531c841ee85c803792db60157 Author: Ben Dooks Date: Tue May 1 23:26:35 2007 +0200 i2c-s3c2410: Fix I2C SDA to SCL setup time Fix the setup time for SDA to SCL due to the way the S3C24XX I2C controller works. Signed-off-by: Ben Dooks Signed-off-by: Jean Delvare commit e8c76eed2ecdb8e9ca5339761d2c076d32b7cbca Author: Till Harbaum Date: Tue May 1 23:26:35 2007 +0200 i2c: New i2c-tiny-usb bus driver Add a driver for the i2c-tiny-usb interface. This is a simple do-it-yourself USB to I2C interface targeted at experimental and home use. See the i2c-tiny-usb homepage for hardware details: http://www.harbaum.org/till/i2c_tiny_usb Signed-off-by: Till Harbaum Signed-off-by: Jean Delvare commit eefcd75e72f382270f8f64e030550b10e3882b2b Author: Jean Delvare Date: Tue May 1 23:26:35 2007 +0200 i2c: Documentation update Make the documentation on how to write and port i2c drivers more in line with the current state of things: * i2c-isa is deprecated and soon gone, so stop advertising it. * Drop many sensors-specific references. Most of them were outdated anyway. * Update the example code to reflect the recent and not-so-recent API and coding style preference changes. * Simplify the example init and cleanup functions. This should make things less complex to understand for newcomers. Signed-off-by: Jean Delvare commit 35532d20035d04b0ec28508583a56c7a65c5fa47 Author: Milind Arun Choudhary Date: Tue May 1 23:26:34 2007 +0200 i2c: SPIN_LOCK_UNLOCKED cleanup SPIN_LOCK_UNLOCKED cleanup, use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Milind Arun Choudhary Signed-off-by: Jean Delvare commit 11de70bd4d40a1a39c1133b260bfbd6306e981d3 Author: Jean Delvare Date: Tue May 1 23:26:34 2007 +0200 i2c: Obsolete i2c-ixp2000, i2c-ixp4xx and scx200_i2c The new generic i2c-gpio driver should be used instead. The obsolete drivers will be removed in September 2007. Signed-off-by: Jean Delvare Cc: Deepak Saxena Cc: Jordan Crouse commit bcda9f1eb0de0e1108c8b2765e5b7afa0dfb6c9f Author: Ben Dooks Date: Tue May 1 23:26:34 2007 +0200 i2c: New Simtec I2C bus driver Platform driver for the Simtec CPLD based simple I2C logic. Signed-off-by: Ben Dooks Signed-off-by: Jean Delvare commit 1c23af90dc44d05bbb6a3b5246ab664b1f943943 Author: Haavard Skinnemoen Date: Tue May 1 23:26:34 2007 +0200 i2c: Bitbanging I2C bus driver using the GPIO API This is a very simple bitbanging I2C bus driver utilizing the new arch-neutral GPIO API. Useful for chips that don't have a built-in I2C controller, additional I2C busses, or testing purposes. To use, include something similar to the following in the board-specific setup code: #include static struct i2c_gpio_platform_data i2c_gpio_data = { .sda_pin = GPIO_PIN_FOO, .scl_pin = GPIO_PIN_BAR, }; static struct platform_device i2c_gpio_device = { .name = "i2c-gpio", .id = 0, .dev = { .platform_data = &i2c_gpio_data, }, }; Register this platform_device, set up the I2C pins as GPIO if required and you're ready to go. This will use default values for udelay and timeout, and will work with GPIO hardware that does not support open drain mode, but allows sensing of the SDA and SCL lines even when they are being driven. Signed-off-by: Haavard Skinnemoen Signed-off-by: Jean Delvare commit 16538e6b32600f76ad212d42fc2b1f801e32ab4b Author: Jan Engelhardt Date: Tue May 1 23:26:34 2007 +0200 Use menuconfig objects - I2C Allow the whole I2C menu to be disabled at once without diving into the submenus for deselecting all options (should the user desire so). Signed-off-by: Jan Engelhardt Signed-off-by: Jean Delvare commit b86a1bc8e39641d0c4676943b77a3486ee296db8 Author: Jean Delvare Date: Tue May 1 23:26:34 2007 +0200 i2c: Restore i2c_smbus_read_block_data Add back the i2c_smbus_read_block_data helper function, it is needed by the upcoming lm93 hardware monitoring driver and possibly others. Signed-off-by: Jean Delvare commit 7d054817b780e664bed6701b2aa637718e1905b7 Author: Jean Delvare Date: Tue May 1 23:26:33 2007 +0200 i2c-pxa: Clean transaction stop It was reported to me that the i2c-pxa driver was not able to process more that 50 transactions per second. Investigation revealed that the I2C unit was busy for 20 ms after every transaction. The reason seems to be that we forget to clear the STOP and ACKNACK bits at the end of the transaction. According to the PXA27x developer's manual, we shall do so. Signed-off-by: Jean Delvare Cc: Lennert Buytenhek Cc: Nicolas Pitre commit 494dbb64dc5b369cc28542f4c4d634e57b0d7f18 Author: Jean Delvare Date: Tue May 1 23:26:33 2007 +0200 i2c-algo-bit: Improve debugging Improve the debugging features of the i2c-algo-bit driver: * Make it possible to compile the driver without debugging support at all, making it much smaller. * Use dev_dbg() for debugging messages where possible, and dev_err() for error messages. * Remove redundant debugging messages. These changes allowed for minor code cleanups, which are included as well. Signed-off-by: Jean Delvare commit 424ed67c7dae37e8115e1bebc3261e86a624dff2 Author: Jean Delvare Date: Tue May 1 23:26:33 2007 +0200 i2c-algo-bit: Implement a 50/50 SCL duty cycle The original i2c-algo-bit implementation uses a 33/66 SCL duty cycle when bits are being written on the bus. While the I2C specification doesn't forbid it, this prevents us from driving the I2C bus to its max speed, limiting us to 66 kbps max on standard I2C busses. Implementing a 50/50 duty cycle instead lets us max out the bandwidth up to the theoretical max of 100 kbps on standard I2C busses. This is particularly important when large amounts of data need to be transfered over the bus, as is the case with some TV adapters when the firmware is being uploaded. In fact this change even allows, at least in theory, fast-mode I2C support at 125, 166 and 250 kbps. There's no way to reach the theoretical max of 400 kbps with this implementation. But I don't think we want to put efforts in that direction anyway: software-driven I2C is very CPU-intensive and bad for latency. Other timing changes: * Don't set SDA high explicitly on error, we're going to issue a stop condition before we leave anyway. * If an error occurs when sending the slave address, yield the CPU before retrying, and remove the additional delay after the new start condition. Signed-off-by: Jean Delvare commit 7c175499822ba34ba60f32e4995fcc16c007d308 Author: David Brownell Date: Tue May 1 23:26:32 2007 +0200 i2c-omap: Switch to static adapter numbering Update the OMAP I2C driver to use i2c_add_numbered_adapter(), so that later patches can convert boards to using new-style drivers. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit d24ecfcc3953f9c3b833508cd839be614a3f3c64 Author: Bryan Wu Date: Tue May 1 23:26:32 2007 +0200 i2c: Blackfin Two Wire Interface driver The i2c linux driver for blackfin architecture which supports blackfin on-chip TWI controller i2c operation. Signed-off-by: Bryan Wu Reviewed-by: Alexey Dobriyan Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Jean Delvare commit 6edac5803fb66f514d454d8e45595a170f04ea0e Author: Ladislav Michl Date: Tue May 1 23:26:32 2007 +0200 i2c-algo-sgi: Comment and whitespace cleanups Signed-off-by: Ladislav Michl Signed-off-by: Jean Delvare commit b3e820968ad47219f7d559117a30e85cf96b4e4e Author: Jean Delvare Date: Tue May 1 23:26:32 2007 +0200 i2c: Make i2c_del_driver a void function Make i2c_del_driver a void function, like all other driver removal functions. It always returned 0 even when errors occured, and nobody ever actually checked the return value anyway. And we cannot fail a module removal anyway. Signed-off-by: Jean Delvare commit a97f1ed090fc01a5876a7caf2cbdf93470436201 Author: Jean Delvare Date: Tue May 1 23:26:32 2007 +0200 i2c: Move i2c-isa-only exported symbol declarations Move the declaration of i2c-isa-only exported symbols to i2c-isa itself, that's the best way to ensure nobody will attempt to use them. Hopefully we'll get rid of the exports themselves soon anyway. Signed-off-by: Jean Delvare commit ce9e0794c23fb1d0222cb10009a198b427dcf6ad Author: Jean Delvare Date: Tue May 1 23:26:32 2007 +0200 i2c: Document i2c_new_device() Document the new i2c_new_device(), i2c_new_probed_device() and i2c_unregister_device() functions. Signed-off-by: Jean Delvare commit 12b5053ac58709c7d475888bc18d1f61958afc4e Author: Jean Delvare Date: Tue May 1 23:26:31 2007 +0200 i2c: Add i2c_new_probed_device() Add a new helper function to instantiate an i2c device. It is meant as a replacement for i2c_new_device() when you don't know for sure at which address your I2C/SMBus device lives. This happens frequently on TV adapters for example, you know there is a tuner chip on the bus, but depending on the exact board model and revision, it can live at different addresses. So, the new i2c_new_probed_device() function will probe the bus according to a list of addresses, and as soon as one of these addresses responds, it will call i2c_new_device() on that one address. This function will make it possible to port the old i2c drivers to the new model quickly. Signed-off-by: Jean Delvare commit 0f3b48385213355a2d4408bec1b481ffcf0e8638 Author: Jean Delvare Date: Tue May 1 23:26:31 2007 +0200 i2c-algo-bit: Add i2c_bit_add_numbered_bus Add i2c_bit_add_numbered_bus(), which is equivalent to i2c_bit_add_bus except that it calls i2c_add_numbered_adapter() at the end instead of i2c_add_adapter(). Signed-off-by: Jean Delvare commit c05646069ccf8e94031ca9c8ab18fff35ba4405e Author: David Brownell Date: Tue May 1 23:26:31 2007 +0200 i2c: i2c EXPORT_SYMBOL cleanup Make i2c-core.c obey Documentation/CodingStyle better by snugging the EXPORT_SYMBOL declarations next to the relevant definitions. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 6e13e641841833cc2aa5baefe89bb04bc388801b Author: David Brownell Date: Tue May 1 23:26:31 2007 +0200 i2c: Add i2c_add_numbered_adapter() This adds a call, i2c_add_numbered_adapter(), registering an I2C adapter with a specific bus number and then creating I2C device nodes for any pre-declared devices on that bus. It builds on previous patches adding I2C probe() and remove() support, and that pre-declaration of devices. This completes the core support for "new style" I2C device drivers. Those follow the standard driver model for binding devices to drivers (using probe and remove methods) rather than a legacy model (where the driver tries to autoconfigure each bus, and registers devices itself). Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 9c1600eda42e52796f49b36cf15b9debcfd09bea Author: David Brownell Date: Tue May 1 23:26:31 2007 +0200 i2c: Add i2c_board_info and i2c_new_device() This provides partial support for new-style I2C driver binding. It builds on "struct i2c_board_info" declarations that identify I2C devices on a given board. This is needed on systems with I2C devices that can't be fully probed and/or autoconfigured, such as many embedded Linux configurations where the way a given I2C device is wired may affect how it must be used. There are two models for declaring such devices: * LATE -- using a public function i2c_new_device(). This lets modules declare I2C devices found *AFTER* a given I2C adapter becomes available. For example, a PCI card could create adapters giving access to utility chips on that card, and this would be used to associate those chips with those adapters. * EARLY -- from arch_initcall() level code, using a non-exported function i2c_register_board_info(). This copies the declarations *BEFORE* such an i2c_adapter becomes available, arranging that i2c_new_device() will be called later when i2c-core registers the relevant i2c_adapter. For example, arch/.../.../board-*.c files would declare the I2C devices along with their platform data, and I2C devices would behave much like PNPACPI devices. (That is, both enumerate from board-specific tables.) To match the exported i2c_new_device(), the previously-private function i2c_unregister_device() is now exported. Pending later patches using these new APIs, this is effectively a NOP. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 4298cfc3eb6110df989f784be516c6340c597a66 Author: David Brownell Date: Tue May 1 23:26:31 2007 +0200 i2c: i2c probe() and remove() documented Update Documentation/i2c to match previous patches updating probe() and remove() logic. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit a1d9e6e49f4b473a6945a6b553f5070e8c793e0a Author: David Brownell Date: Tue May 1 23:26:30 2007 +0200 i2c: i2c stack can remove() More update for new style driver support: add a remove() method, and use it in the relevant code paths. Again, nothing will use this yet since there's nothing to create devices feeding this infrastructure. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 7b4fbc50fabb810523be522fe7ec5cc40f85c7a1 Author: David Brownell Date: Tue May 1 23:26:30 2007 +0200 i2c: i2c stack can probe() One of a series of I2C infrastructure updates to support enumeration using the standard Linux driver model. This patch updates probe() and associated hotplug/coldplug support, but not remove(). Nothing yet _uses_ it to create I2C devices, so those hotplug/coldplug mechanisms will be the only externally visible change. This patch will be an overall NOP since the I2C stack doesn't yet create clients/devices except as part of binding them to legacy drivers. Some code is moved earlier in the source code, helping group more of the per-device infrastructure in one place and simplifying handling per-device attributes. Terminology being adopted: "legacy drivers" create devices (i2c_client) themselves, while "new style" ones follow the driver model (the i2c_client is handed to the probe routine). It's an either/or thing; the two models don't mix, and drivers that try mixing them won't even be registered. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 5cedb05db3c3084c9641403dd24c310a6b3ea19f Author: Jean Delvare Date: Tue May 1 23:26:30 2007 +0200 i2c-pca-isa: Port to the new device driver model Port the i2c-pca-isa driver to the new device driver model. I'm using Rene Herman's new isa bus type, as it fits the needs nicely. One benefit is that we can now give a proper parent to our i2c adapter. Signed-off-by: Jean Delvare commit 4a5d30302ec82c53613915d5eb8381b8efe1dd0e Author: Jean Delvare Date: Tue May 1 23:26:30 2007 +0200 i2c-elektor: Port to the new device driver model Port the i2c-elektor driver to the new device driver model. I'm using Rene Herman's new isa bus type, as it fits the needs nicely. One benefit is that we can now give a proper parent to our i2c adapter. Signed-off-by: Jean Delvare commit c6e8bb2ca5e50547557650c9251d24f55a8f4cfb Author: Jean Delvare Date: Tue May 1 23:26:30 2007 +0200 i2c-parport-light: Port to the new device driver model Also fix a small race on driver unload: we need to unregister the i2c adapter before we power it off. Signed-off-by: Jean Delvare commit 3af07bd297b6ba3d77474fdb3b2656dd3f0404d5 Author: Jean Delvare Date: Tue May 1 23:26:30 2007 +0200 i2c-parport: Fix a minor race on driver unload When unloading the driver, we really want to unregister the i2c adapter before we power it off, rather than the other way around. Also speed up the bus a bit when we can sense SCL. The slaves will stretch the line as needed. Signed-off-by: Jean Delvare commit 4b4686e7a6fe8347938beef518e9b309127945f1 Author: Jean Delvare Date: Tue May 1 23:26:30 2007 +0200 scx200_acb: Fix PCI device reference count The scx200_acb driver supports two kind of devices, PCI ones and ISA ones. Even ISA ones are detected using the presence of a given PCI device, and we get a reference to it, but never put it back, so we have a leak. Fix it. Signed-off-by: Jean Delvare commit 7c59b6615fed9d3006b1e7b865fb07e483129611 Author: Jean Delvare Date: Tue May 1 23:26:29 2007 +0200 i2c: Cleanup the includes of Clean up the includes of . Only include this header file when we actually need it. Signed-off-by: Jean Delvare commit f75803de6ae9aaebaf096d4590b40503c896eca7 Author: Jean Delvare Date: Tue May 1 23:26:29 2007 +0200 i2c-nforce2: Add support for the MCP61 and MCP65 Signed-off-by: Jean Delvare Cc: Hans-Frieder Vogt commit cacf2269b6cde2ff2c29a13dff5ce6886ff1dc73 Author: Jean Delvare Date: Tue May 1 23:26:29 2007 +0200 i2c-parport: Optimize binary size Initialize the fields of the i2c_adapter structure individually, rather than copying a whole static template structure. This shaves off 474 bytes or 14% (on i386) from the binary size. Signed-off-by: Jean Delvare commit 3c4bb241d34ee3d9ab87aad265734885385f179b Author: Jean Delvare Date: Tue May 1 23:26:29 2007 +0200 i2c-algo-bit: Emulate SMBus block read Now that i2c-core lets the i2c bus drivers emulate the SMBus block read and SMBus block process call transaction types, let's implement that in the popular i2c bit-banging driver. This will also act as a reference implementation for other bus drivers which want to do the same. Signed-off-by: Jean Delvare commit 209d27c3b1676c0497108f0642c51a08b98a7856 Author: Jean Delvare Date: Tue May 1 23:26:29 2007 +0200 i2c: Emulate SMBus block read over I2C Let the I2C bus drivers emulate the SMBus Block Read and Block Process Call transactions if they wish. This requires to define a new message flag, which i2c-core will use to let the underlying I2C bus driver know that the first received byte will specify the length of the read message. Signed-off-by: Jean Delvare commit 1ecac07abaca1a4084d0259d4a15b55188852a2e Author: Jean Delvare Date: Tue May 1 23:26:28 2007 +0200 i2c-algo-bit: Always send a stop condition before leaving The i2c-algo-bit driver doesn't behave well on read errors: it'll bail out without even sending a stop condition on the bus, so the bus will be stuck. So make sure that we always send a stop condition on the bus before we leave. The best way to make sure is to always send it at the end of function bit_xfer. Signed-off-by: Jean Delvare commit ef2c8321f5a27ff9ecdae1ee587430cafa495586 Author: David Brownell Date: Tue May 1 23:26:28 2007 +0200 i2c: Rename dev_to_i2c_adapter() Rename dev_to_i2c_adapter() as to_i2c_adapter(), since the previous syntax was a surprising and needless difference from normal naming conventions in Linux. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 16ffadfc680bd0683dc88573c1d72cbf1e27030e Author: David Brownell Date: Tue May 1 23:26:28 2007 +0200 i2c: Class attribute cleanup This patch is a minor cleanup/code shrink, using class infrastructure in i2c-core to manage the i2c_adapter attribute. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 2096b956d24c4b5950b808fc23b218425d79ebb1 Author: David Brownell Date: Tue May 1 23:26:28 2007 +0200 i2c: Shrink struct i2c_client This shrinks the size of "struct i2c_client" by 40 bytes: - Substantially shrinks the string used to identify the chip type - The "flags" don't need to be so big - Removes some internal padding It also adds kerneldoc for that struct, explaining how "name" is really a chip type identifier; it's otherwise potentially confusing. Because the I2C_NAME_SIZE symbol was abused for both i2c_client.name and for i2c_adapter.name, this needed to affect i2c_adapter too. The adapters which used that symbol now use the more-obviously-correct idiom of taking the size of that field. JD: Shorten i2c_adapter.name from 50 to 48 bytes while we're here, to avoid wasting space in padding. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 4ad4eac60667f7c321faae28a3437f7a8b3d17cb Author: David Brownell Date: Tue May 1 23:26:28 2007 +0200 i2c: i2c_register_driver() cleanup Minor cleanup in i2c_register_driver(): use list_for_each_entry(). Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit b31366f4394f7b1e8e1726ba049f294934db4495 Author: Jean Delvare Date: Tue May 1 23:26:28 2007 +0200 i2c: i2c_adapter devices need no driver Kill i2c_adapter_driver as it doesn't make sense and it prevents further i2c-core cleanups. i2c_adapter devices are virtual devices (ex-class devices) and as such they don't need a driver. Signed-off-by: Jean Delvare commit fccb56e4d82132ac15359efc9e419371e4533437 Author: Jean Delvare Date: Tue May 1 23:26:27 2007 +0200 i2c: Kill i2c_adapter.class_dev Kill i2c_adapter.class_dev. Instead, set the class of i2c_adapter.dev to i2c_adapter_class, so that a symlink will be created for every i2c_adapter in /sys/class/i2c-adapter. The same change must be mirrored to i2c-isa as it duplicates some of the i2c-core functionalities. User-space tools and libraries might need some adjustments. In particular, libsensors from lm_sensors 2.10.3 or later is required for proper discovery of i2c adapter names after this change. Signed-off-by: Jean Delvare commit d6444514b89098284099c17b9f168ef6236d3e8f Author: James Bottomley Date: Tue May 1 10:13:46 2007 -0500 [VOYAGER] add smp alternatives It's about time voyager had them Signed-off-by: James Bottomley commit 9d0e59a34116f5ee48efc9a397fb09aaedc3b2f0 Author: Eric W. Biederman Date: Mon Apr 30 09:57:40 2007 -0600 [VOYAGER] Use modern techniques to setup and teardown low identiy mappings. This is a trivial and hopefully obviously correct patch to setup and teardown the identity mappings the way the rest of arch/i386 does. My new page table setup code will break some assumptions below so this is my attempt to keep voyager working. Signed-off-by: Eric W. Biederman Signed-off-by: James Bottomley commit f3402a4e52fc1bdfc386a7f512e6e384cd69ecad Author: Christoph Hellwig Date: Sun Apr 22 20:30:43 2007 +0100 [VOYAGER] Convert the monitor thread to use the kthread API full kthread conversion on the voyager power switch handling thread. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 9f483519be82420e308b9a90a96a9c62f28032ae Author: James Bottomley Date: Mon Apr 30 11:30:10 2007 -0500 [VOYAGER] clockevents driver: bring voyager in to line The irq0 timer interrupt should be initiallised identically with mach-default. Signed-off-by: James Bottomley commit 2feae2158a96aa5e02ca2e630896e6f553c36dc0 Author: James Bottomley Date: Mon Apr 30 11:27:25 2007 -0500 [VOYAGER] clockevents: correct boot cpu is zero assumption This isn't true for voyager, so alter setup_pit_timer() to initialise the cpumask from the current processor id (which should be the boot processor) rather than defaulting to zero. Acked-by: Thomas Gleixner Signed-off-by: James Bottomley commit d3af5abe9a809becbe4b413144b607844560d445 Author: Tony Lindgren Date: Tue May 1 16:36:00 2007 +0200 mmc-omap: Clean up omap set_ios and make MMC_POWER_ON work Move divisor calculation into a separate function and re-arrange the init order to make MMC_POWER_ON work. Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 46a6730e3ff9add5089ddd007f998b97fb4e8571 Author: Tony Lindgren Date: Tue May 1 16:34:16 2007 +0200 mmc-omap: Fix omap to use MMC_POWER_ON As discussed earlier on LKML: http://lkml.org/lkml/2006/5/4/44 Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 3647afcec11f2fcfc6269e513ff97fec1374d1b8 Author: Arnaud Patard Date: Tue May 1 16:18:36 2007 +0200 mmc-omap: add missing '\n' This patch add a missing '\n' at the end of the 'cover is open' string in mmc_omap_switch_handler(). Signed-off-by: Arnaud Patard Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit d97956f86bec90ab131b9f1af60c0e686198d45e Author: Adrian Bunk Date: Tue May 1 16:14:29 2007 +0200 mmc: make tifm_sd_set_dma_data() static This patch makes the needlessly global tifm_sd_set_dma_data() static. Signed-off-by: Adrian Bunk Signed-off-by: Pierre Ossman commit bd766312618d2ecc85bce663f95faec601447ecb Author: Pierre Ossman Date: Tue May 1 16:11:57 2007 +0200 mmc: remove old card states Remove card states that no longer make any sense. Signed-off-by: Pierre Ossman commit 6abaa0c9fec563538f2a28a682af8c89bb9b125c Author: Pierre Ossman Date: Tue May 1 16:00:02 2007 +0200 mmc: support unsafe resume of cards Since many have the system root on MMC/SD we must allow some foot shooting when it comes to resume. We cannot detect if a card is removed and reinserted during suspend, so the safe approach would be to assume it was, avoiding potential filesystem corruption. This will of course not work if you cannot release the card before suspend. This commit adds a compile time option that makes the MMC layer assume the card wasn't touched if it is redetected upon resume. Signed-off-by: Pierre Ossman commit 89a73cf52ba2ae4402c53487b71ec4475544f139 Author: Pierre Ossman Date: Tue May 1 15:08:30 2007 +0200 mmc: separate out reading EXT_CSD Separate the reading and decoding of the EXT_CSD register with the actions taken on it. Signed-off-by: Pierre Ossman commit 1addfcdbe4b23a20f28a097c2469d9f0c21bef23 Author: Pierre Ossman Date: Tue May 1 14:46:08 2007 +0200 mmc: break apart switch function Break apart the SD switch function into one that reads the capabilities and one that acts on them. Signed-off-by: Pierre Ossman commit 55556da01284af8c2174b786b3eca8e11301b656 Author: Philip Langdale Date: Fri Mar 16 19:39:00 2007 -0700 MMC: Fix handling of low-voltage cards Fix handling of low voltage MMC cards. The latest MMC and SD specs both agree that support for low-voltage operations is indicated by bit 7 in the OCR. The MMC spec states that the low voltage range is 1.65-1.95V while the SD spec leaves the actual voltage range undefined - meaning that there is still no such thing as a low voltage SD card. However, an old Sandisk spec implied that bits 7.0 represented voltages below 2.0V in 1V or 0.5V increments, and the code was accordingly written with that expectation. This confusion meant that host drivers attempting to support the typical low voltage (1.8V) would set the wrong bits in the host OCR mask (usually bits 5 and/or 6) resulting in the the low voltage mode never being used. This change corrects the low voltage range and adds sanity checks on the reserved bits (0-6) and for SD cards that claim to support low-voltage operations. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit 4be34c99a2f3aa90fa42e62c0918f07afb8a645b Author: Philip Langdale Date: Sun Mar 11 17:15:15 2007 -0700 MMC: Consolidate voltage definitions Consolidate the list of available voltages. Up until now, a separate set of defines has been used for host->vdd than that used for the OCR voltage mask values. Having two sets of defines allows them to get out of sync and the current sets are already inconsistent with one claiming to describe ranges and the other specific voltages. Only the SDHCI driver uses the host->vdd defines and it is easily fixed to use the OCR defines. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit 7ea239d9e6d6993469a6a8ca83ff23834dfc3fce Author: Pierre Ossman Date: Sun Dec 31 00:11:32 2006 +0100 mmc: add bus handler Delegate protocol handling to "bus handlers". This allows the core to just handle the task of arbitrating the bus. Initialisation and pampering of cards is now done by the different bus handlers. This design also allows MMC and SD (and later SDIO) to be more cleanly separated, allowing easier maintenance. Signed-off-by: Pierre Ossman commit b2670b1c6ddd54be4a0f72f853122510ea5ef285 Author: Pierre Ossman Date: Tue May 1 13:35:19 2007 +0200 wbsd: check for data opcode earlier Move the check for supported data opcodes to the beginning of the request function to avoid wedging the card. Signed-off-by: Pierre Ossman commit da7fbe58d2d347e95af699ddf04d885be6362bbe Author: Pierre Ossman Date: Sun Dec 24 22:46:55 2006 +0100 mmc: Separate out protocol ops Move protocol operations and definitions into their own files in an effort to separate protocol handling and bus arbitration more clearly. Signed-off-by: Pierre Ossman commit aaac1b470bd0dccb30912356617069dc6199cc80 Author: Pierre Ossman Date: Wed Feb 28 15:33:10 2007 +0100 mmc: Move core functions to subdir Create a "core" subdirectory to house the central bus handling functions. Signed-off-by: Pierre Ossman commit b855885e3b60cf6f9452848712a62517b94583eb Author: Pierre Ossman Date: Wed Jan 3 19:47:29 2007 +0100 mmc: deprecate mmc bus topology The classic MMC bus was defined as multi card bus system, which is reflected in the design in the MMC layer. When SD showed up, the bus topology was abandoned and a star topology (one card per host) was mandated. MMC version 4 has followed this, officially deprecating the bus topology. As we do not have any known users of the bus topology we can remove support for it. This will simplify the code and rectify some incorrect assumptions in the newer additions. Signed-off-by: Pierre Ossman commit b5af25bee2de2f6cd1ac74ba737cbc4f3d303e5d Author: Pierre Ossman Date: Sat Apr 28 17:30:50 2007 +0200 mmc: remove card upon suspend Suspending MMC/SD cards (versus removing and readding them) is an inherently unsafe operation and has even been broken for some time. Signed-off-by: Pierre Ossman commit d2b46f66b4b342be07a4194bd5e82384d07e470d Author: Pierre Ossman Date: Sat Apr 28 16:52:12 2007 +0200 mmc: allow suspended block driver to be removed Make sure we don't deadlock when removing a suspended block queue, something that might happen if the card is removed during suspend. Signed-off-by: Pierre Ossman commit 3b91e5507cddaca53bccf1524ff11a0ac5c85531 Author: Pierre Ossman Date: Sun Feb 11 20:43:19 2007 +0100 mmc: Flush pending detects on host removal Make sure we kill of any pending detection runs when the host is removed instead of when it is freed. Also add some debugging to make sure the driver doesn't queue up more detection after it has removed the host. Signed-off-by: Pierre Ossman commit 1c6a0718f0bfdab0d9b7da5f7b74f38a0058c03a Author: Pierre Ossman Date: Sun Feb 11 19:57:36 2007 +0100 mmc: Move host and card drivers to subdirs Clean up the drivers/mmc directory by moving card and host drivers into subdirectories. Signed-off-by: Pierre Ossman commit 98ac2162699f7e9880683cb954891817f20b607c Author: Pierre Ossman Date: Sat Dec 23 20:03:02 2006 +0100 mmc: Move queue functions to mmc_block The mmc block queue functions are tailored for the mmc_block driver, so move those functions into that module. Signed-off-by: Pierre Ossman commit 29041dbe199b0dff392bf1b9d634357da0b3208f Author: Pierre Ossman Date: Sat Feb 10 15:52:23 2007 +0100 mmc: Move "present" marking The "present" state indicates that the card is a registered device, so it is more clear to put it together with the actual registration. Signed-off-by: Pierre Ossman commit f74d132cec60b686bce1f284822c1a496700bd3c Author: Pierre Ossman Date: Fri Feb 9 22:49:31 2007 +0100 mmc: Move OCR bit defines All host drivers were #include:ing mmc/protocol.h just to get access to the OCR bit defines. Move these to host.h instead. Signed-off-by: Pierre Ossman commit 9c2c0af950345e63ef86f28eca44333a1e1e709b Author: Pierre Ossman Date: Tue Dec 26 15:25:58 2006 +0100 mmc: add type field to cards Split out the type of card into its own field as it hardly qualifies as a state. Signed-off-by: Pierre Ossman commit 85a18ad93ec66888d85758630019b10a84257f3c Author: Pierre Ossman Date: Sat Feb 17 22:15:27 2007 +0100 mmc: MMC sector based cards Support for MMC 4.2 sector based cards. This tweaks the init a bit and reads a new field out of the EXT_CSD. Signed-off-by: Pierre Ossman commit de85989511f3a0e15b04d18582b23d428d6ddbbd Author: Pierre Ossman Date: Sat Apr 28 14:59:35 2007 +0200 mmc: use right timing mode constant Fix copy-n-paste error. Signed-off-by: Pierre Ossman commit c4030698029bb30d220fb0342a34280c629cee01 Author: Andrew Morton Date: Sat Apr 28 14:21:10 2007 +0200 tifm: add missing include for DMA_32BIT_MASK sparc64: drivers/misc/tifm_7xx1.c: In function `tifm_7xx1_probe': drivers/misc/tifm_7xx1.c:294: error: `DMA_32BIT_MASK' undeclared Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit 91f8d0118a0e1f25f809f3fde5a7616a1eaabc2b Author: Alex Dubov Date: Thu Apr 12 17:05:26 2007 +1000 tifm: layout fixes, small changes to comments and printfs Cosmetic changes to the code. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 13cdf48ef15befbd36f8295091b9e0f9bd322963 Author: Alex Dubov Date: Thu Apr 12 17:05:25 2007 +1000 tifm_sd: implement software scatter-gather It was found that delays associated with issue and completion of the commands severely limit performance of the new, fast SD cards. To alleviate this issue scatter-gather emulation in software is implemented for both dma and pio transfer modes. Non-block aligned and high memory sg entries are accounted for. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 5897d657b58efb244b1f82a912ee93e5141ed14c Author: Alex Dubov Date: Thu Apr 12 17:05:24 2007 +1000 tifm_sd: fix resume handler Resume should not explicitly check for media type. Instead, it may relay on success of socket initialization. Small changes are introduced to tifm_sd_initialize to make it more robust. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 72dc9d9619dd4682f4197e7a7f19af22fd6516a7 Author: Alex Dubov Date: Thu Apr 12 17:05:23 2007 +1000 tifm_sd: replace command completion state machine with full checking State machine used to to track mmc command state was found to be fragile and unreliable, making many cards unusable. The safer solution is to perform all needed checks at every card event. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit dfef26d9aad4f983da232b259ee7f7faec479b2d Author: Alex Dubov Date: Thu Apr 12 16:59:24 2007 +1000 tifm_sd: merge dma and pio request processing paths To allow for switching of trasfer mode (dma/pio) on a per-request basis, pio and dma request issue and completion function are now merged. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 0007d4837ac94d672f313cfc462f879b5d06f221 Author: Alex Dubov Date: Thu Apr 12 16:59:23 2007 +1000 tifm_sd: separate command flags, socket flags and register bit masks host->flags variable was hosting a collection of bits with different semantics. For clarity, hardware bit masks are now defined as macros, socket flags represented as bit fields and flags (now cmd_flags) only hosts command processing modifiers. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 592d372ae89dd5b43117cf5113a910f67f6e6a7e Author: Alex Dubov Date: Thu Apr 12 16:59:22 2007 +1000 tifm_sd: remove wait for power off on remove This wait was needed because of the mmc layer failure to wait for completion of all outstanding commands before host removal. It should be fixed now in the mmc layer. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit b039d4a187a4064c926159db063004377281b041 Author: Alex Dubov Date: Thu Apr 12 16:59:21 2007 +1000 tifm_sd: remove tifm_sd_terminate function tifm_sd_terminate can only lawfully be called on device removal so it can be merged with tifm_sd_remove. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 4e64f223857b138e3474bedc967d51db25c414b3 Author: Alex Dubov Date: Thu Apr 12 16:59:20 2007 +1000 tifm: add sysfs attribute for tifm devices A sysfs attribute reflecting current media type is added. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 88de1b2fed2bbe9eb1b7310195be84cf143efb4f Author: Alex Dubov Date: Thu Apr 12 16:59:19 2007 +1000 tifm_7xx1: fix adapter resume function Fixes to the adapter resume function to correctly handle all possible cases: 1. Card is removed during suspend 2. Card is inserted during suspend into previously empty socket 3. Card is replaced during suspend by same or different media type card. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 2428a8fe2261e901e058d9ea8b6ed7e1b4268b79 Author: Alex Dubov Date: Thu Apr 12 16:59:18 2007 +1000 tifm: move common device management tasks from tifm_7xx1 to tifm_core Some details of the device management (create, add, remove) are really belong to the tifm_core, as they are not hardware specific. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 6113ed73e61a13db9da48831e1b35788b7f837cc Author: Alex Dubov Date: Thu Apr 12 16:59:17 2007 +1000 tifm: move common adapter management tasks from tifm_7xx1 to tifm_core Some details of the adapter management (create, add, remove) are really belong to the tifm_core, as they are not hardware specific. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 342c0ec4859446140c0dc5d7d903bb3b3f0577cd Author: Alex Dubov Date: Thu Apr 12 16:59:16 2007 +1000 tifm_7xx1: improve card detection routine Remove unneeded conditions and change a sleeping regime a little in the card type detection routine. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 3540af8ffddcdbc7573451ac0b5cd57a2eaf8af5 Author: Alex Dubov Date: Thu Apr 12 16:59:15 2007 +1000 tifm: replace per-adapter kthread with freezeable workqueue Freezeable workqueue makes sure that adapter work items (device insertions and removals) would be handled after the system is fully resumed. Previously this was achieved by explicit freezing of the kthread. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit e23f2b8a1a52c00f0150659eb0bfde3a73976ffe Author: Alex Dubov Date: Thu Apr 12 16:59:14 2007 +1000 tifm: simplify bus match and uevent handlers Remove code duplicating the kernel functionality and clean up data structures involved in driver matching. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 8dc4a61eca31dd45a9d45f9bc9c67d959f0f6cbd Author: Alex Dubov Date: Thu Apr 12 16:59:13 2007 +1000 tifm: use bus methods to handle probe/remove instead of driver ones. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 4552f0cbd45225f2c1cbadc224505f14f8749569 Author: Alex Dubov Date: Thu Apr 12 16:59:12 2007 +1000 tifm: hide details of interrupt processing from socket drivers Instead of passing transformed value of adapter interrupt status to socket drivers, implement two separate callbacks - one for card events and another for dma events. Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 5721dbf217b073b40e31936781379ab2d17ea2ae Author: Pierre Ossman Date: Fri Apr 13 23:25:59 2007 +0200 wbsd: remove block crc test Block completion interrupts occur faster than we can process them, so just ignore them competely. Commit also fixes up some incorrect register defines. Signed-off-by: Pierre Ossman commit 976d9276c826d6b35e4a2478fd4978dbd63bdd6f Author: Pierre Ossman Date: Fri Apr 13 22:47:01 2007 +0200 mmc: enforce correct sg list Now that we've fixed our only offender when it comes to strange sg list, add a check so that future users keep the sg list proper with regard to transfer size. Signed-off-by: Pierre Ossman commit 14d836e7499c53a1f6a65086c3d11600e871a971 Author: Alex Dubov Date: Fri Apr 13 19:04:38 2007 +0200 mmc: cull sg list to match mmc request size mmc layer may introduce additional (compared to block layer) limits on request size. Culling of the sg list to match adjusted request size simplifies the handling of such cases in the low level driver, allowing it to skip block count checks while processing sg entries. (fixes for wbsd and sdhci by Pierre Ossman) Signed-off-by: Alex Dubov Signed-off-by: Pierre Ossman commit 83672d392f7bcf556f7920d6715e4174d9373ee0 Author: Neil Brown Date: Mon Feb 26 12:48:25 2007 +1100 NFS: Fix directory caching problem - with test case and patch. Try running this script in an NFS mounted directory (Client relatively recent - 2.6.18 has the problem as does 2.6.20). ------------------------------------------------------ #!/bin/bash # # This script will produce the following errormessage from tar: # # tar: newdir/innerdir/innerfile: file changed as we read it # create dirs rm -rf nfstest mkdir -p nfstest/dir/innerdir # create files (should not be empty) echo "Hello World!" >nfstest/dir/file echo "Hello World!" >nfstest/dir/innerdir/innerfile # problem only happens if we sleep before chmod sleep 1 # change file modes chmod -R a+r nfstest # rename dir mv nfstest/dir nfstest/newdir # tar it tar -cf nfstest/nfstest.tar -C nfstest newdir # restore old dir name mv nfstest/newdir nfstest/dir -------------------------------------------------------- What happens: The 'chmod -R' does a readdir_plus in each directory and the results get cached in the page cache. It then updates the ctime on each file by one second. When this happens, the post-op attributes are used to update the ctime stored on the client to match the value in the kernel. The 'mv' calls shrink_dcache_parent on the directory tree which flushes all the dentries (so a new lookup will be required) but doesn't flush the inodes or pagecache. The 'tar' does a readdir on each directory, but (in the case of 'innerdir' at least) satisfies it from the pagecache and uses the READDIRPLUS data to update all the inodes. In the case of 'innerdir/innerfile', the ctime is out of date. 'tar' then calls 'lstat' on innerdir/innerfile getting an old ctime. It then opens the file (triggering a GETATTR), reads the content, and then calls fstat to see if anything has changed. It finds that ctime has changed and so complains. The problem seems to be that the cache readdirplus info is kept around for too long. My patch below discards pagecache data for directories when dentry_iput is called on them. This effectively removes the symptom which convinces me that I correctly understand the problem. However I'm not convinced that is a proper solution, as there could easily be other races that trigger the same problem without being affected by this 'fix'. One possibility would be to require that readdirplus pagecache data be only used *once* to instantiate an inode. Somehow it should then be invalidated so that if the dentry subsequently disappears, it will cause a new request to the server to fill in the stat data. Another possibility is to compare the cache_change_attribute on the inode with something similar for the readdirplus info and reject the info from readdirplus if it is too old. I haven't tried to implement these and would value other opinions before I do. Thanks, NeilBrown Signed-off-by: Neil Brown Signed-off-by: Trond Myklebust commit 1f4eab7e7c1d90dcd8ca4d7c064ee78dfbb345eb Author: Neil Brown Date: Mon Apr 16 09:35:27 2007 +1000 NFS: Set meaningful value for fattr->time_start in readdirplus results. Don't use uninitialsed value for fattr->time_start in readdirplus results. The 'fattr' structure filled in by nfs3_decode_direct does not get a value for ->time_start set. Thus if an entry is for an inode that we already have in cache, when nfs_readdir_lookup calls nfs_fhget, it will call nfs_refresh_inode and may update the inode with out-of-date information. Directories are read a page at a time, so each page could have a different timestamp that "should" be used to set the time_start for the fattr for info in that page. However storing the timestamp per page is awkward. (We could stick in the first 4 bytes and only read 4092 bytes, but that is a bigger code change than I am interested it). This patch ignores the readdir_plus attributes if a readdir finds the information already in cache, and otherwise sets ->time_start to the time the readdir request was sent to the server. It might be nice to store - in the directory inode - the time stamp for the earliest readdir request that is still in the page cache, so that we don't ignore attribute data that we don't have to. This patch doesn't do that. Signed-off-by: Neil Brown Signed-off-by: Trond Myklebust commit 74dd34e6e8bb127ff4c182423154b294729b663b Author: Steve Dickson Date: Sat Apr 14 17:01:15 2007 -0400 NFS: Added support to turn off the NFSv3 READDIRPLUS RPC. READDIRPLUS can be a performance hindrance when the client is working with large directories. In addition, some servers still have bugs in their implementations (e.g. Tru64 returns wrong values for the fsid). Add a mount flag to enable users to turn it off at mount time following the implementation in Apple's NFS client. Signed-off-by: Steve Dickson Signed-off-by: Trond Myklebust commit 00a6e7bbf990e3a5e59a9a1e6a68e99c94fe001c Author: Chuck Lever Date: Thu Mar 29 16:48:33 2007 -0400 SUNRPC: RPC client should retry with different versions of rpcbind Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4c2eaf073f0cc2b5bf593b8133c078b9d9406e95 Author: Chuck Lever Date: Thu Mar 29 16:48:27 2007 -0400 SUNRPC: remove old portmapper net/sunrpc/pmap_clnt.c has been replaced by net/sunrpc/rpcb_clnt.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit df8b172a8880521396d2048ecef7e75df43b5bc4 Author: Chuck Lever Date: Thu Mar 29 16:48:22 2007 -0400 NFS: switch NFSROOT to use new rpcbind client It is arguable whether NFSROOT will support IPv6, and thus whether rpcb_getport_external needs to support rpcbind versions greater than 2. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 260800142071a3a33e4523c7578358c6e29c0f53 Author: Chuck Lever Date: Thu Mar 29 16:48:16 2007 -0400 SUNRPC: switch the RPC server to use the new rpcbind registration API Eventually this interface will support versions 3 and 4 of the rpcbind protocol, which will allow the Linux RPC server to register services on IPv6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e9b1c9c98c051f49a76dcd76f914c02653aecccb Author: Chuck Lever Date: Thu Mar 29 16:48:10 2007 -0400 SUNRPC: switch socket-based RPC transports to use rpcbind Now that we have a version of the portmapper that supports versions 3 and 4 of the rpcbind protocol, use it for new RPC client connections over sockets. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a509050bd3b8e0aa269c2241aa10d74ca7701e2f Author: Chuck Lever Date: Thu Mar 29 16:48:04 2007 -0400 SUNRPC: introduce rpcbind: replacement for in-kernel portmapper Introduce a replacement for the in-kernel portmapper client that supports all 3 versions of the rpcbind protocol. This code is not used yet. Original code by Groupe Bull updated for the latest kernel, with multiple bug fixes. Note that rpcb_clnt.c does not yet support registering via versions 3 and 4 of the rpcbind protocol. That is planned for a later patch. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c5a4dd8b7c15927a8fbff83171b57cad675a79b9 Author: Chuck Lever Date: Thu Mar 29 16:47:58 2007 -0400 SUNRPC: Eliminate side effects from rpc_malloc Currently rpc_malloc sets req->rq_buffer internally. Make this a more generic interface: return a pointer to the new buffer (or NULL) and make the caller set req->rq_buffer and req->rq_bufsize. This looks much more like kmalloc and eliminates the side effects. To fix a potential deadlock, this patch also replaces GFP_NOFS with GFP_NOWAIT in rpc_malloc. This prevents async RPCs from sleeping outside the RPC's task scheduler while allocating their buffer. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 2bea90d43a050bbc4021d44e59beb34f384438db Author: Chuck Lever Date: Thu Mar 29 16:47:53 2007 -0400 SUNRPC: RPC buffer size estimates are too large The RPC buffer size estimation logic in net/sunrpc/clnt.c always significantly overestimates the requirements for the buffer size. A little instrumentation demonstrated that in fact rpc_malloc was never allocating the buffer from the mempool, but almost always called kmalloc. To compute the size of the RPC buffer more precisely, split p_bufsiz into two fields; one for the argument size, and one for the result size. Then, compute the sum of the exact call and reply header sizes, and split the RPC buffer precisely between the two. That should keep almost all RPC buffers within the 2KiB buffer mempool limit. And, we can finally be rid of RPC_SLACK_SPACE! Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 511d2e8855a065c8251d0c140ebc353854f1929e Author: Chuck Lever Date: Thu Mar 29 16:47:47 2007 -0400 NLM: Shrink the maximum request size of NLM4 requests NLM version 4 requests estimate the call and reply header sizes rather conservatively, using the very maximum size allowed in the protocol even though Linux always uses only a small fraction of the allowable space. Reduce the size of caller and lock arguments to conserve RPC buffer space while XDR encoding NLM4 arguments. Add compile-time checks to ensure the hostname string won't overflow NLM protocol maximums. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ca52fec152282ef73e5e882b847b36b1febbb1c6 Author: Trond Myklebust Date: Tue Apr 17 17:22:13 2007 -0400 NFS: Use pgoff_t in structures and functions that pass page cache offsets Signed-off-by: Trond Myklebust commit 724c439c204b12a3537b71289fb4c0a42c3aa566 Author: Trond Myklebust Date: Tue Apr 17 17:22:13 2007 -0400 NFS: Clean up nfs_sync_mapping_wait() It has no business touching wbc->pages_skipped. Signed-off-by: Trond Myklebust commit 8d5658c949e6d89edc579a1f112aeee3bc232a8e Author: Trond Myklebust Date: Tue Apr 10 09:26:35 2007 -0400 NFS: Fix a buffer overflow in the allocation of struct nfs_read/writedata Signed-off-by: Trond Myklebust commit c63c7b051395368573779c8309aa5c990dcf2f96 Author: Trond Myklebust Date: Mon Apr 2 19:29:52 2007 -0400 NFS: Fix a race when doing NFS write coalescing Currently we do write coalescing in a very inefficient manner: one pass in generic_writepages() in order to lock the pages for writing, then one pass in nfs_flush_mapping() and/or nfs_sync_mapping_wait() in order to gather the locked pages for coalescing into RPC requests of size "wsize". In fact, it turns out there is actually a deadlock possible here since we only start I/O on the second pass. If the user signals the process while we're in nfs_sync_mapping_wait(), for instance, then we may exit before starting I/O on all the requests that have been queued up. Signed-off-by: Trond Myklebust commit 8b09bee3083897e375bd0bf9d60f48daedfab3e0 Author: Trond Myklebust Date: Mon Apr 2 18:48:28 2007 -0400 NFS: Cleanup for nfs_readpages() Do the coalescing of read requests into block sized requests at start of I/O as we scan through the pages instead of going through a second pass. Signed-off-by: Trond Myklebust commit bcb71bba7e64f0442d0ca339d7d3117a7060589f Author: Trond Myklebust Date: Mon Apr 2 18:48:28 2007 -0400 NFS: Another cleanup of the read/write request coalescing code Signed-off-by: Trond Myklebust commit d8a5ad75cc4d577987964e37a4c43b1c648c201e Author: Trond Myklebust Date: Mon Apr 2 18:48:28 2007 -0400 NFS: Cleanup the coalescing code Signed-off-by: Trond Myklebust commit 91e59c368c6ba5eed0369a085c42c9f270b97aa8 Author: Trond Myklebust Date: Fri Apr 6 13:12:46 2007 -0400 NFS: Don't wait for congestion in nfs_update_request() It is redundant, and will interfere with the call to balance_dirty_pages_ratelimited_nr in generic_file_write(). Signed-off-by: Trond Myklebust commit 1a0ba9ae485c5fd17d0bff2f14d9dd75b8985593 Author: Amnon Aaronsohn Date: Mon Apr 9 22:05:26 2007 -0700 NFS: statfs error-handling fix The nfs statfs function returns a success code on error, and fills the output buffer with invalid values. The attached patch makes it return a correct error code instead. Signed-off-by: Amnon Aaronsohn Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Trond Myklebust (Modified patch to reinstate the dprintk()) commit d585158b608248a6ba8ae75e234672e048d3fde9 Author: Trond Myklebust Date: Mon Apr 30 22:17:02 2007 -0700 NFS: Fix nfs_set_page_dirty() Be more careful about testing page->mapping. Signed-off-by: Trond Myklebust commit 84767d00a8fd54dd97866561f6e2ee246c8e1cdc Author: Roman Moravcik Date: Tue May 1 00:39:13 2007 -0400 Input: gpio_keys - add support for switches (EV_SW) Signed-off-by: Roman Moravcik Signed-off-by: Paul Sokolovsky Signed-off-by: Dmitry Torokhov commit bc95f3669f5e6f63cf0b84fe4922c3c6dd4aa775 Merge: 3d29cdf... dc87c39... Author: Dmitry Torokhov Date: Tue May 1 00:24:54 2007 -0400 Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/usb/input/Makefile drivers/usb/input/gtco.c commit dc87c3985e9b442c60994308a96f887579addc39 Author: Linus Torvalds Date: Mon Apr 30 17:43:48 2007 -0700 libata: honour host controllers that want just one host The Marvell IDE interface on my machine would hit a BUG_ON() in lib/iomem.c because it was calling ata_pci_init_one() specifying just a single port on the host, but that would actually end up trying to initialize two ports, the second one with bogus information. This fixes "ata_pci_init_one()" so that it actually passes down the n_ports variable that it got from the low-level driver to the host allocation routine ("ata_host_alloc_pinfo()"), which results in the ATA layer actually having the correct port number information. And in order to make it all work, I also needed to fix a few places that had incorrectly hard-coded the fact that a host always had exactly two ports (both ata_pci_init_bmdma() and ata_request_legacy_irqs() would just always iterate over both ports). Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 14e38ac823b7b25e3f4e563c182f93fde78167d6 Author: David Rientjes Date: Mon Apr 30 15:09:56 2007 -0700 pm: include EIO from errno-base.h For backwards compatibility, call_platform_enable_wakeup() can return 0 instead of -EIO since we aren't guaranteed to have errno defined. Cc: David Brownell Signed-off-by: David Rientjes Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11443ec7d9286dd25663516436a14edfb5f43857 Author: Jeremy Fitzhardinge Date: Mon Apr 30 15:09:56 2007 -0700 Add kvasprintf() Add a kvasprintf() function to complement kasprintf(). No in-tree users yet, but I have some coming up. [akpm@linux-foundation.org: EXPORT it] Signed-off-by: Jeremy Fitzhardinge Cc: Andrew Morton Cc: Keir Fraser Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9684e51cd157607f0727c1550e7df6e31de40808 Author: Johannes Berg Date: Mon Apr 30 15:09:55 2007 -0700 power management: force pm_ops.valid callback to be assigned This patch changes the docs and behaviour from "all states valid" to "no states valid" if no .valid callback is assigned. Users of pm_ops that only need mem sleep can assign pm_valid_only_mem without any overhead, others will require more elaborate callbacks. Now that all users of pm_ops have a .valid callback this is a safe thing to do and prevents things from getting messy again as they were before. Signed-off-by: Johannes Berg Acked-by: Pavel Machek Looks-okay-to: Rafael J. Wysocki Cc: Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8c9c502690efd24b7055bf608e7a3c34216848b Author: Johannes Berg Date: Mon Apr 30 15:09:54 2007 -0700 power management: implement pm_ops.valid for everybody Almost all users of pm_ops only support mem sleep, don't check in .valid and don't reject any others in .prepare so users can be confused if they check /sys/power/state, especially when new states are added (these would then result in s-t-r although they're supposed to be something different). This patch implements a generic pm_valid_only_mem function that is then exported for users and puts it to use in almost all existing pm_ops. Signed-off-by: Johannes Berg Cc: David Brownell Acked-by: Pavel Machek Cc: linux-pm@lists.linux-foundation.org Cc: Len Brown Acked-by: Russell King Cc: Greg KH Cc: "Rafael J. Wysocki" Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11d77d0c01b80e44c7aceb21928508dafce774f9 Author: Johannes Berg Date: Mon Apr 30 15:09:53 2007 -0700 power management: remove firmware disk mode This patch removes the firmware disk suspend mode which is the wrong approach, it is supposed to be used for implementing firmware-based disk suspend but cannot actually be used for that. Signed-off-by: Johannes Berg Acked-by: Pavel Machek Cc: Cc: David Brownell Cc: Len Brown Acked-by: Russell King Cc: Greg KH Cc: "Rafael J. Wysocki" Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe0c935a6cbf25d72a27c7a345df8a2151de0b74 Author: Johannes Berg Date: Mon Apr 30 15:09:51 2007 -0700 rework pm_ops pm_disk_mode, kill misuse This patch series cleans up some misconceptions about pm_ops. Some users of the pm_ops structure attempt to use it to stop the user from entering suspend to disk, this, however, is not possible since the user can always use "shutdown" in /sys/power/disk and then the pm_ops are never invoked. Also, platforms that don't support suspend to disk simply should not allow configuring SOFTWARE_SUSPEND (read the help text on it, it only selects suspend to disk and nothing else, all the other stuff depends on PM). The pm_ops structure is actually intended to provide a way to enter platform-defined sleep states (currently supported states are "standby" and "mem" (suspend to ram)) and additionally (if SOFTWARE_SUSPEND is configured) allows a platform to support a platform specific way to enter low-power mode once everything has been saved to disk. This is currently only used by ACPI (S4). This patch: The pm_ops.pm_disk_mode is used in totally bogus ways since nobody really seems to understand what it actually does. This patch clarifies the pm_disk_mode description. It also removes all the arm and sh users that think they can veto suspend to disk via pm_ops; not so since the user can always do echo shutdown > /sys/power/disk, they need to find a better way involving Kconfig or such. ACPI is the only user left with a non-zero pm_disk_mode. The patch also sets the default mode to shutdown again, but when a new pm_ops is registered its pm_disk_mode is selected as default, that way the default stays for ACPI where it is apparently required. Signed-off-by: Johannes Berg Cc: David Brownell Acked-by: Pavel Machek Cc: Cc: Len Brown Acked-by: Russell King Cc: Greg KH Cc: "Rafael J. Wysocki" Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1173a729fc3ce2fa0d698bd39be8ff7bf6c70bf1 Author: Jeff Mahoney Date: Mon Apr 30 15:09:50 2007 -0700 reiserfs: suppress lockdep warning We're getting lockdep warnings due to a post-2.6.21-rc7 bugfix. The xattr_sem can never be taken in the manner described. Internal inodes are protected by I_PRIVATE. Add the appropriate annotation. Cc: Cc: "Antonino A. Daplas" Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42e380832a6911c8a3173ee0172fbc0e4864d80b Author: Robert Peterson Date: Mon Apr 30 15:09:48 2007 -0700 Extend print_symbol capability Today's print_symbol function dumps a kernel symbol with printk. This patch extends the functionality of kallsyms.c so that the symbol lookup function may be used without the printk. This is useful for modules that want to dump symbols elsewhere, for example, to debugfs. I intend to use the new function call in the GFS2 file system (which will be a separate patch). [akpm@linux-foundation.org: build fix] [clameter@sgi.com: sprint_symbol should return length of string like sprintf] Signed-off-by: Robert Peterson Cc: Rusty Russell Cc: Roman Zippel Cc: "Randy.Dunlap" Cc: Sam Ravnborg Acked-by: Paulo Marques Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de34ed91c4ffa4727964a832c46e624dd1495cf5 Author: David S. Miller Date: Mon Apr 30 14:51:58 2007 -0700 [UDP]: Do not allow specific bind when wildcard bind exists. When allocating local ports, do not allow a bind to a port with a specific local address when a bind to that port with a wildcard local address already exists. Noticed by Linus. Signed-off-by: David S. Miller commit b7b5f487ab39bc10ed0694af35651a03d9cb97ff Author: David S. Miller Date: Mon Apr 30 13:35:29 2007 -0700 [IPV4] UDP: Fix endianness bugs in hashing changes. I accidently applied an earlier version of Eric Dumazet's patch, from March 21st. His version from March 30th didn't have these bugs, so this just interdiffs to the correct patch. Signed-off-by: David S. Miller commit 4523cc3044d1bc7fcf3d7fee75d62bc76b8e1abb Author: Steve French Date: Mon Apr 30 20:13:06 2007 +0000 [CIFS] UID/GID override on CIFS mounts to Samba When CIFS Unix Extensions are negotiated we get the Unix uid and gid owners of the file from the server (on the Unix Query Path Info levels), but if the server's uids don't match the client uid's users were having to disable the Unix Extensions (which turned off features they still wanted). The changeset patch allows users to override uid and/or gid for file/directory owner with a default uid and/or gid specified at mount (as is often done when mounting from Linux cifs client to Windows server). This changeset also displays the uid and gid used by default in /proc/mounts (if applicable). Also cleans up code by adding some of the missing spaces after "if" keywords per-kernel style guidelines (as suggested by Randy Dunlap when he reviewed the patch). Signed-off-by: Steve French commit 2e4976206396274cf66590328c6913811c271495 Author: Mark Langsdorf Date: Mon Apr 30 14:15:05 2007 -0500 [CPUFREQ] Report the number of processors in PowerNow-k8 correctly The PowerNow! driver for Opteron reports the number of cores in the system, but claims to report the number of processors. Fix this minor cosmetic bug. Signed-off-by: Bhavana Nagendra Acked-by: Mark Langsdorf Signed-off-by: Dave Jones commit b96e80e3237777e5d7994a720ab722eb8f7edc60 Author: David Rientjes Date: Mon Apr 30 07:34:37 2007 -0700 [CPUFREQ] do not declare undefined functions fill_powernow_table_pstate() and fill_powernow_table_fidvid() are only defined and used for X86_POWERNOW_K8_ACPI. Signed-off-by: David Rientjes Signed-off-by: Dave Jones commit 0293ca814b74e20e77cf719074ee15372204fc55 Author: James Bottomley Date: Mon Apr 30 11:24:05 2007 -0500 [VOYAGER] add smp_call_function_single This apparently has msr users now, so add it to the voyager HAL Signed-off-by: James Bottomley commit 40caf5ea5a7d47f8a33e26b63ca81dea4b5109d2 Merge: d645470... bcfd09e... Author: Linus Torvalds Date: Mon Apr 30 08:59:57 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (56 commits) ieee1394: remove garbage from Kconfig ieee1394: more help in Kconfig ieee1394: ohci1394: Fix mistake in printk message. ieee1394: ohci1394: remove unnecessary rcvPhyPkt bit flipping in LinkControl register ieee1394: ohci1394: fix cosmetic problem in error logging ieee1394: eth1394: send async streams at S100 on 1394b buses ieee1394: eth1394: fix error path in module_init ieee1394: eth1394: correct return codes in hard_start_xmit ieee1394: eth1394: hard_start_xmit is called in atomic context ieee1394: eth1394: some conditions are unlikely ieee1394: eth1394: clean up fragment_overlap ieee1394: eth1394: don't use alloc_etherdev ieee1394: eth1394: omit useless set_mac_address callback ieee1394: eth1394: CONFIG_INET is always defined ieee1394: eth1394: allow MTU bigger than 1500 ieee1394: unexport highlevel_host_reset ieee1394: eth1394: contain host reset ieee1394: eth1394: shorter error messages ieee1394: eth1394: correct a memset argument ieee1394: eth1394: refactor .probe and .update ... commit d6454706c382ab74e2ecad7803c434cc6bd30343 Merge: 152a6a9... 11941a3... Author: Linus Torvalds Date: Mon Apr 30 08:58:21 2007 -0700 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid: (21 commits) USB HID: don't warn on idVendor == 0 USB HID: add 'quirks' module parameter USB HID: add support for dynamically-created quirks USB HID: clarify static quirk handling as squirks USB HID: encapsulate quirk handling into hid-quirks.c USB HID: EMS USBII device needs HID_QUIRK_MULTI_INPUT HID: update copyright and authorship macro HID: introduce proper zeroing of unused bits in output reports USB HID: add support for WiseGroup MP-8800 Quad Joypad USB HID: add FF support for Logitech Force 3D Pro Joystick USB HID: numlock quirk for dell W7658 keyboard USB HID: Logitech MX3000 keyboard needs report descriptor quirk USB HID: extend quirk for Logitech S510 keyboard USB HID: usbkbd/usbmouse - handle errors when registering devices USB HID: add QUIRK_HIDDEV for Belkin Flip KVM HID: enable dead keys on a belkin wireless keyboard USB HID: Thustmaster firestorm dual power v1 support USB HID: specify explicit size for hid_blacklist.quirks USB HID: fix retry & reset logic USB HID: consolidate vendor/product ids ... commit 7297824581755593535fc97d2c8b6c47e2dc2db6 Author: Eric Moore Date: Wed Feb 7 16:51:40 2007 -0700 [SCSI] fusion: fix domain validation loops After host reset, the device are programmed to default asyn narrow nego. We need to reprogram the parameter back to previous values. If the host reset is called as a result of spi_dv_device() commands timing out, its possible to get into an infinite loop of dv to host reset. This will prevent that case, as we merely program old values. If host reset is called outside context of domain validation, then we can call spi_dv_device. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 152a6a9da1bd3ed5dcbbf6ff17c7ebde0eb9a754 Merge: cd9bb7e... 80787eb... Author: Linus Torvalds Date: Mon Apr 30 08:14:42 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits) [IPV4] SNMP: Support OutMcastPkts and OutBcastPkts [IPV4] SNMP: Support InMcastPkts and InBcastPkts [IPV4] SNMP: Support InTruncatedPkts [IPV4] SNMP: Support InNoRoutes [SNMP]: Add definitions for {In,Out}BcastPkts [TCP] FRTO: RFC4138 allows Nagle override when new data must be sent [TCP] FRTO: Delay skb available check until it's mandatory [XFRM]: Restrict upper layer information by bundle. [TCP]: Catch skb with S+L bugs earlier [PATCH] INET : IPV4 UDP lookups converted to a 2 pass algo [L2TP]: Add the ability to autoload a pppox protocol module. [SKB]: Introduce skb_queue_walk_safe() [AF_IUCV/IUCV]: smp_call_function deadlock [IPV6]: Fix slab corruption running ip6sic [TCP]: Update references in two old comments [XFRM]: Export SPD info [IPV6]: Track device renames in snmp6. [SCTP]: Fix sctp_getsockopt_local_addrs_old() to use local storage. [NET]: Remove NETIF_F_INTERNAL_STATS, default to internal stats. [NETPOLL]: Remove CONFIG_NETPOLL_RX ... commit cd9bb7e7367c03400d6e918fd3502820fc3b9084 Merge: 24a77da... 07e4470... Author: Linus Torvalds Date: Mon Apr 30 08:12:39 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: [PATCH] elevator: elv_list_lock does not need irq disabling [BLOCK] Don't pin lots of memory in mempools cfq-iosched: speedup cic rb lookup ll_rw_blk: add io_context private pointer cfq-iosched: get rid of cfqq hash cfq-iosched: tighten queue request overlap condition cfq-iosched: improve sync vs async workloads cfq-iosched: never allow an async queue idling cfq-iosched: get rid of ->dispatch_slice cfq-iosched: don't pass unused preemption variable around cfq-iosched: get rid of ->cur_rr and ->cfq_list cfq-iosched: slice offset should take ioprio into account [PATCH] cfq-iosched: style cleanups and comments cfq-iosched: sort IDLE queues into the rbtree cfq-iosched: sort RT queues into the rbtree [PATCH] cfq-iosched: speed up rbtree handling cfq-iosched: rework the whole round-robin list concept cfq-iosched: minor updates cfq-iosched: development update cfq-iosched: improve preemption for cooperating tasks commit 24a77daf3d80bddcece044e6dc3675e427eef3f3 Merge: e389f9a... f900e97... Author: Linus Torvalds Date: Mon Apr 30 08:10:12 2007 -0700 Merge branch 'for-2.6.22' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'for-2.6.22' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (255 commits) [POWERPC] Remove dev_dbg redefinition in drivers/ps3/vuart.c [POWERPC] remove kernel module option for booke wdt [POWERPC] Avoid putting cpu node twice [POWERPC] Spinlock initializer cleanup [POWERPC] ppc4xx_sgdma needs dma-mapping.h [POWERPC] arch/powerpc/sysdev/timer.c build fix [POWERPC] get_property cleanups [POWERPC] Remove the unused HTDMSOUND driver [POWERPC] cell: cbe_cpufreq cleanup and crash fix [POWERPC] Declare enable_kernel_spe in a header [POWERPC] Add dt_xlate_addr() to bootwrapper [POWERPC] bootwrapper: CONFIG_ -> CONFIG_DEVICE_TREE [POWERPC] Don't define a custom bd_t for Xilixn Virtex based boards. [POWERPC] Add sane defaults for Xilinx EDK generated xparameters files [POWERPC] Add uartlite boot console driver for the zImage wrapper [POWERPC] Stop using ppc_sys for Xilinx Virtex boards [POWERPC] New registration for common Xilinx Virtex ppc405 platform devices [POWERPC] Merge common virtex header files [POWERPC] Rework Kconfig dependancies for Xilinx Virtex ppc405 platform [POWERPC] Clean up cpufreq Kconfig dependencies ... commit 4e08df3f91837656c36712f559d5ce8d80852760 Author: David Miller Date: Mon Apr 16 12:37:43 2007 -0700 [SCSI] qla2xxx: fix regression on sparc64 Some sparc64 boxes don't have a valid NVRAM (from which the driver takes its WWPN) try to extract this from open firmware instead and if that fails, fall back to a default, which would be invalid if more than one machine on the same SAN does this, since two machines with the same WWPN would be illegal, so warn when taking this potentially invalid default. Tested on SunBlade-1000: Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit fa543f005de175080640266ca536d45b4b0b1a61 Author: Dan Williams Date: Sun Apr 29 09:33:22 2007 +0100 [ARM] 4344/1: iop13xx: do not claim both uarts by default on iop342 Signed-off-by: Dan Williams Signed-off-by: Russell King commit 84c981ffb371828ad6d1d220f076453b54734302 Author: Dan Williams Date: Sun Apr 29 09:32:51 2007 +0100 [ARM] 4343/1: iop13xx: automatically detect the internal bus frequency Signed-off-by: Dan Williams Signed-off-by: Russell King commit 7dcad376e85b6eff56f29ee21e10e1fe855f1ed7 Author: Dan Williams Date: Sun Apr 29 09:31:51 2007 +0100 [ARM] 4341/1: iop13xx: fix i/o address translation PCI devices were being programmed with an incorrect base address value. This patch moves I/O space into a 16-bit addressable region and corrects the i/o offset. Much thanks to Martin Michlmayr for tracking this issue and testing debug patches. Cc: Martin Michlmayr Signed-off-by: Dan Williams Signed-off-by: Russell King commit 8903fcce9b91bab6bb98adbb57a4edfc372c8bff Author: Dan Williams Date: Sun Apr 29 09:31:21 2007 +0100 [ARM] 4340/1: iop: fix iop_getttimeoffset Fix a typo which causes a necessary cpwait to be missed on iop3xx, Michael Brunner Save a register in the assembly routine, rmk Cc: Lennert Buytenhek Signed-off-by: Dan Williams Signed-off-by: Russell King commit 80787ebc2bbd8e675d8b9ff8cfa40f15134feebe Author: Mitsuru Chinen Date: Mon Apr 30 00:48:20 2007 -0700 [IPV4] SNMP: Support OutMcastPkts and OutBcastPkts A transmitted IP multicast datagram should be counted as OutMcastPkts. By the same token, a transmitted IP broadcast datagram should be counted as OutBcastPkts. Signed-off-by: Mitsuru Chinen Signed-off-by: David S. Miller commit 5506b54b36f067b9776935085c9f8e607b026b23 Author: Mitsuru Chinen Date: Mon Apr 30 00:48:10 2007 -0700 [IPV4] SNMP: Support InMcastPkts and InBcastPkts A received IP multicast datagram should be counted as InMcastPkts. By the same token, a received IP broadcast datagram should be counted as InBcastPkts. Signed-off-by: Mitsuru Chinen Signed-off-by: David S. Miller commit 704aed53b4e43bebfbd425cf95b66794a9cfa2c2 Author: Mitsuru Chinen Date: Mon Apr 30 00:46:30 2007 -0700 [IPV4] SNMP: Support InTruncatedPkts An IP datagram which is being discarded because the datagram frame didn't carry enough data should be counted as InTruncatedPkts. Signed-off-by: Mitsuru Chinen Signed-off-by: David S. Miller commit e91a47ebb130b90790c7a8c625ade4dcea246842 Author: Mitsuru Chinen Date: Mon Apr 30 00:45:49 2007 -0700 [IPV4] SNMP: Support InNoRoutes An IP datagram which is being discarded because of no routes in the forwarding path should be counted as InNoRoutes. Signed-off-by: Mitsuru Chinen Signed-off-by: David S. Miller commit 71ff6c0a857d11e70aec0c8f1e0d4ae9a45dd468 Author: Mitsuru Chinen Date: Mon Apr 30 00:45:02 2007 -0700 [SNMP]: Add definitions for {In,Out}BcastPkts The updated IP-MIB RFC (RFC4293) specifys new objects, InBcastPkts and OutBcastPkts. This adds definitions for them. Signed-off-by: Mitsuru Chinen Signed-off-by: David S. Miller commit d551e4541dd60ae53459f77a971f2d6043431f5f Author: Ilpo Järvinen Date: Mon Apr 30 00:42:20 2007 -0700 [TCP] FRTO: RFC4138 allows Nagle override when new data must be sent This is a corner case where less than MSS sized new data thingie is awaiting in the send queue. For F-RTO to work correctly, a new data segment must be sent at certain point or F-RTO cannot be used at all. RFC4138 allows overriding of Nagle at that point. Implementation uses frto_counter states 2 and 3 to distinguish when Nagle override is needed. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 575ee7140dabe9b9c4f66f4f867039b97e548867 Author: Ilpo Järvinen Date: Mon Apr 30 00:39:55 2007 -0700 [TCP] FRTO: Delay skb available check until it's mandatory No new data is needed until the first ACK comes, so no need to check for application limitedness until then. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 157bfc25020f7eb731f94140e099307ade47299e Author: Masahide NAKAMURA Date: Mon Apr 30 00:33:35 2007 -0700 [XFRM]: Restrict upper layer information by bundle. On MIPv6 usage, XFRM sub policy is enabled. When main (IPsec) and sub (MIPv6) policy selectors have the same address set but different upper layer information (i.e. protocol number and its ports or type/code), multiple bundle should be created. However, currently we have issue to use the same bundle created for the first time with all flows covered by the case. It is useful for the bundle to have the upper layer information to be restructured correctly if it does not match with the flow. 1. Bundle was created by two policies Selector from another policy is added to xfrm_dst. If the flow does not match the selector, it goes to slow path to restructure new bundle by single policy. 2. Bundle was created by one policy Flow cache is added to xfrm_dst as originated one. If the flow does not match the cache, it goes to slow path to try searching another policy. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 34588b4c046c34773e5a1a962da7b78b05c4d1bd Author: Ilpo Järvinen Date: Mon Apr 30 00:57:33 2007 -0700 [TCP]: Catch skb with S+L bugs earlier SACKED_ACKED and LOST are mutually exclusive with SACK, thus having their sum larger than packets_out is bug with SACK. Eventually these bugs trigger traps in the tcp_clean_rtx_queue with SACK but it's much more informative to do this here. Non-SACK TCP, however, could get more than packets_out duplicate ACKs which each increment sacked_out, so it makes sense to do this kind of limitting for non-SACK TCP but not for SACK enabled one. Perhaps the author had the opposite in mind but did the logic accidently wrong way around? Anyway, the sacked_out incrementer code for non-SACK already deals this issue before calling sync_left_out so this trapping can be done unconditionally. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6aaf47fa48d3c44280810b1b470261d340e4ed87 Author: Eric Dumazet Date: Mon Apr 30 00:26:00 2007 -0700 [PATCH] INET : IPV4 UDP lookups converted to a 2 pass algo Some people want to have many UDP sockets, binded to a single port but many different addresses. We currently hash all those sockets into a single chain. Processing of incoming packets is very expensive, because the whole chain must be examined to find the best match. I chose in this patch to hash UDP sockets with a hash function that take into account both their port number and address : This has a drawback because we need two lookups : one with a given address, one with a wildcard (null) address. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 65def812ab25d7565756e5748d91e22e302197ee Author: James Chapman Date: Mon Apr 30 00:21:02 2007 -0700 [L2TP]: Add the ability to autoload a pppox protocol module. This patch allows a name "pppox-proto-nnn" to be used in modprobe.conf to autoload a PPPoX protocol nnn. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 07e44708059010aa26c6a4c8ee6ff11743d04d4e Merge: 2a12dcd... 597bc48... Author: Jens Axboe Date: Mon Apr 30 09:09:27 2007 +0200 Merge branch 'cfq' into for-linus commit 2a12dcd71a5e0667b33f7b47bcac95c71d551840 Author: Jens Axboe Date: Thu Apr 26 14:41:53 2007 +0200 [PATCH] elevator: elv_list_lock does not need irq disabling It's never grabbed from irq context, so just make it plain spin_lock(). Signed-off-by: Jens Axboe commit 5972511b77809cb7c9ccdb79b825c54921c5c546 Author: Jens Axboe Date: Mon Apr 2 10:06:42 2007 +0200 [BLOCK] Don't pin lots of memory in mempools Currently we scale the mempool sizes depending on memory installed in the machine, except for the bio pool itself which sits at a fixed 256 entry pre-allocation. There's really no point in "optimizing" this OOM path, we just need enough preallocated to make progress. A single unit is enough, lets scale it down to 2 just to be on the safe side. This patch saves ~150kb of pinned kernel memory on a 32-bit box. Signed-off-by: Jens Axboe commit 46f8914e53c28d0716c586e08a7c819d8ebb9d54 Author: James Chapman Date: Mon Apr 30 00:07:31 2007 -0700 [SKB]: Introduce skb_queue_walk_safe() This patch provides a method for walking skb lists while inserting or removing skbs from the list. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 597bc485d6906359ad667fc8ead5e5f0ede03a0a Author: Jens Axboe Date: Tue Apr 24 21:23:53 2007 +0200 cfq-iosched: speedup cic rb lookup We often lookup the same queue many times in succession, so cache the last looked up queue to avoid browsing the rbtree. Signed-off-by: Jens Axboe commit 4e521c27eee33cebd618c26649e2c93803004647 Author: Jens Axboe Date: Tue Apr 24 21:17:33 2007 +0200 ll_rw_blk: add io_context private pointer To be used by as/cfq as they see fit. Signed-off-by: Jens Axboe commit 91fac317a34859986a2359a5a5c0e37dc17a9c3d Author: Vasily Tarasov Date: Wed Apr 25 12:29:51 2007 +0200 cfq-iosched: get rid of cfqq hash cfq hash is no more necessary. We always can get cfqq from io context. cfq_get_io_context_noalloc() function is introduced, because we don't want to allocate cic on merging and checking may_queue. In order to identify sync queue we've used hash key = CFQ_KEY_ASYNC. Since hash is eliminated we need to use other criterion: sync flag for queue is added. In all places where we dig in rb_tree we're in current context, so no additional locking is required. Advantages of this patch: no additional memory for hash, no seeking in hash, code is cleaner. But it is necessary now to seek cic in per-ioc rbtree, but it is faster: - most processes work only with few devices - most systems have only few block devices - it is a rb-tree Signed-off-by: Vasily Tarasov Changes by me: - Merge into CFQ devel branch - Get rid of cfq_get_io_context_noalloc() - Fix various bugs with dereferencing cic->cfqq[] with offset other than 0 or 1. - Fix bug in cfqq setup, is_sync condition was reversed. - Fix bug where only bio_sync() is used, we need to check for a READ too Signed-off-by: Jens Axboe commit cc19747977824ece6aa1c56a29e974fef5ec2b32 Author: Jens Axboe Date: Fri Apr 20 20:45:39 2007 +0200 cfq-iosched: tighten queue request overlap condition For tagged devices, allow overlap of requests if the idle window isn't enabled on the current active queue. Signed-off-by: Jens Axboe commit 3ed9a2965c47636bc0ebafab31a39f1c105492ca Author: Jens Axboe Date: Mon Apr 23 08:33:33 2007 +0200 cfq-iosched: improve sync vs async workloads Signed-off-by: Jens Axboe commit 1be92f2fc7b563db3a8909d2d1c6a6520aeca323 Author: Jens Axboe Date: Thu Apr 19 14:32:26 2007 +0200 cfq-iosched: never allow an async queue idling We don't enable it by default, don't let it get enabled during runtime. Signed-off-by: Jens Axboe commit 20e493a8d03b3b2f51b619a453f7bbbebedd6bda Author: Jens Axboe Date: Mon Apr 23 08:26:36 2007 +0200 cfq-iosched: get rid of ->dispatch_slice We can track it fairly accurately locally, let the slice handling take care of the rest. Signed-off-by: Jens Axboe commit 6084cdda0ea4561feb68e00a8c50068bba98006d Author: Jens Axboe Date: Mon Apr 23 08:25:00 2007 +0200 cfq-iosched: don't pass unused preemption variable around We don't use it anymore in the slice expiry handling. Signed-off-by: Jens Axboe commit edd75ffd92a5b7f6244431e8ff6c32b846f9ba86 Author: Jens Axboe Date: Thu Apr 19 12:03:34 2007 +0200 cfq-iosched: get rid of ->cur_rr and ->cfq_list It's only used for preemption now that the IDLE and RT queues also use the rbtree. If we pass an 'add_front' variable to cfq_service_tree_add(), we can set ->rb_key to 0 to force insertion at the front of the tree. Signed-off-by: Jens Axboe commit 67e6b49e39e9b9bf5ce1351ef21dad391856183f Author: Jens Axboe Date: Fri Apr 20 14:18:00 2007 +0200 cfq-iosched: slice offset should take ioprio into account Use the max_slice-cur_slice as the multipler for the insertion offset. Signed-off-by: Jens Axboe commit 498d3aa2b4f791059acd8c942ee8fa15c2ce36c2 Author: Jens Axboe Date: Thu Apr 26 12:54:48 2007 +0200 [PATCH] cfq-iosched: style cleanups and comments Signed-off-by: Jens Axboe commit 67060e37994444ee9c0bd2413c8baa6cc58e7adb Author: Jens Axboe Date: Wed Apr 18 20:13:32 2007 +0200 cfq-iosched: sort IDLE queues into the rbtree Same treatment as the RT conversion, just put the sorted idle branch at the end of the tree. Signed-off-by: Jens Axboe commit 0c534e0a463e2eeafc97ba25ab23c14f3cdf2bdb Author: Jens Axboe Date: Wed Apr 18 20:01:57 2007 +0200 cfq-iosched: sort RT queues into the rbtree Currently CFQ does a linked insert into the current list for RT queues. We can just factor the class into the rb insertion, and then we don't have to treat RT queues in a special way. It's faster, too. Signed-off-by: Jens Axboe commit cc09e2990fdd96d25fdbb9db6bc9b4c82d9e4a3c Author: Jens Axboe Date: Thu Apr 26 12:53:50 2007 +0200 [PATCH] cfq-iosched: speed up rbtree handling For cases where the rbtree is mainly used for sorting and min retrieval, a nice speedup of the rbtree code is to maintain a cache of the leftmost node in the tree. Also spotted in the CFS CPU scheduler code. Improved by Alan D. Brunelle by updating the leftmost hint in cfq_rb_first() if it isn't set, instead of only updating it on insert. Signed-off-by: Jens Axboe commit d9e7620e60bc6648c3dcabbc8d1a320b69c846f9 Author: Jens Axboe Date: Fri Apr 20 14:27:50 2007 +0200 cfq-iosched: rework the whole round-robin list concept Drawing on some inspiration from the CFS CPU scheduler design, overhaul the pending cfq_queue concept list management. Currently CFQ uses a doubly linked list per priority level for sorting and service uses. Kill those lists and maintain an rbtree of cfq_queue's, sorted by when to service them. This unfortunately means that the ionice levels aren't as strong anymore, will work on improving those later. We only scale the slice time now, not the number of times we service. This means that latency is better (for all priority levels), but that the distinction between the highest and lower levels aren't as big. The diffstat speaks for itself. cfq-iosched.c | 363 +++++++++++++++++--------------------------------- 1 file changed, 125 insertions(+), 238 deletions(-) Signed-off-by: Jens Axboe commit 1afba0451c83cbff622a08f2d86fbb2e680dfd5f Author: Jens Axboe Date: Tue Apr 17 12:47:55 2007 +0200 cfq-iosched: minor updates - Move the queue_new flag clear to when the queue is selected - Only select the non-first queue in cfq_get_best_queue(), if there's a substantial difference between the best and first. - Get rid of ->busy_rr - Only select a close cooperator, if the current queue is known to take a while to "think". Signed-off-by: Jens Axboe commit 6d048f5310aa2dda2b5acd947eab3598c25e269f Author: Jens Axboe Date: Wed Apr 25 12:44:27 2007 +0200 cfq-iosched: development update - Implement logic for detecting cooperating processes, so we choose the best available queue whenever possible. - Improve residual slice time accounting. - Remove dead code: we no longer see async requests coming in on sync queues. That part was removed a long time ago. That means that we can also remove the difference between cfq_cfqq_sync() and cfq_cfqq_class_sync(), they are now indentical. And we can kill the on_dispatch array, just make it a counter. - Allow a process to go into the current list, if it hasn't been serviced in this scheduler tick yet. Possible future improvements including caching the cfqq lookup in cfq_close_cooperator(), so we don't have to look it up twice. cfq_get_best_queue() should just use that last decision instead of doing it again. Signed-off-by: Jens Axboe commit 1e3335de05da3dfbe48b8caa03db1834a2133256 Author: Jens Axboe Date: Wed Feb 14 19:59:49 2007 +0100 cfq-iosched: improve preemption for cooperating tasks When testing the syslet async io approach, I discovered that CFQ sometimes didn't perform as well as expected. cfq_should_preempt() needs to better check for cooperating tasks, so fix that by allowing preemption of an equal priority queue if the recently queued request is as good a candidate for IO as the one we are currently waiting for. Signed-off-by: Jens Axboe commit 3d29cdff999c37b3876082278a8134a0642a02cd Author: Dmitry Torokhov Date: Sun Apr 29 23:43:06 2007 -0400 Input: cobalt_btns - convert to use polldev library Signed-off-by: Dmitry Torokhov Acked-by: Yoichi Yuasa commit 0dcd8073673115eeb67343787f244905f62532f2 Author: Dmitry Torokhov Date: Sun Apr 29 23:42:45 2007 -0400 Input: add skeleton for simple polled devices input-polldev provides a skeleton for supporting simple input devices that need to be periodically scanned or polled to detect changes in their state. Signed-off-by: Dmitry Torokhov commit 85796e7d939a39787f10a643477298678fed85db Author: Dmitry Torokhov Date: Sun Apr 29 23:42:08 2007 -0400 Input: update some documentation Input-programming.txt got out of sync with the latest changes in input core; let's refresh it. Signed-off-by: Dmitry Torokhov commit fd013ce8d42a6667bea2a3c6dca37da8842ab2bf Author: Eric Piel Date: Sun Apr 29 23:41:53 2007 -0400 Input: wistron - fix typo in keymap for Acer TM610 This patch fixes typo that prevented PROG2 key from working on Acer Travelmate 610. Signed-off-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit f900e9777fc9b65140cb9570438597bc8fae56ab Author: Paul Mackerras Date: Mon Apr 30 13:03:39 2007 +1000 [POWERPC] Remove dev_dbg redefinition in drivers/ps3/vuart.c Commit 404d5b185b4eb56d6fa2f7bd27833f8df1c38ce4 changed the definition of dev_dbg in the !DEBUG case from being a #define to being a static inline. There was code in drivers/ps3/vuart.c to do exactly that, which fails to compile now. This fixes it by removing the redefinition, as the redefinition is now superfluous. Signed-off-by: Paul Mackerras commit 49e1900d4cc2e7bcecb681fe60f0990bec2dcce8 Merge: 34f6d74... b9099ff... Author: Paul Mackerras Date: Mon Apr 30 12:38:01 2007 +1000 Merge branch 'linux-2.6' into for-2.6.22 commit 34f6d749c0a328817d5e36274e53121c1db734dc Author: Dave Jiang Date: Sat Apr 14 08:25:24 2007 +1000 [POWERPC] remove kernel module option for booke wdt Remove option of making booke_wdt into a kernel module. This watchdog cannot be disabled. No point being a kernel module. Signed-off-by: Dave Jiang Signed-off-by: Paul Mackerras commit 6ec367091a418dd6119e381758940a38b180089c Author: John Rigby Date: Sat Apr 7 08:57:37 2007 +1000 [POWERPC] Avoid putting cpu node twice Call of_find_node_by_type with NULL instead of np so the cpu node does not get put twice. This was causing kref_put warnings. Signed-off-by: John Rigby Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 057b184a007376562e905aa39f1ba352fb8d78b1 Author: Thomas Gleixner Date: Sun Apr 29 16:10:39 2007 +0000 [POWERPC] Spinlock initializer cleanup Use DEFINE_SPINLOCK instead of initializing spinlocks to SPIN_LOCK_UNLOCKED, since DEFINE_SPINLOCK is better for lockdep. Signed-off-by: Thomas Gleixner Signed-off-by: Paul Mackerras commit f139efedb8d34904cf8ea30b174c3ee57204d114 Author: Andrew Morton Date: Thu Apr 26 00:07:05 2007 -0700 [POWERPC] ppc4xx_sgdma needs dma-mapping.h For dma_alloc_*() Cc: Mathieu Desnoyers Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 738925b6855f989d3f90a3330eeff34010309be3 Author: Srinivasa Ds Date: Thu Apr 26 00:07:04 2007 -0700 [POWERPC] arch/powerpc/sysdev/timer.c build fix arch/powerpc/sysdev/timer.c:51: error: variable `timer_sysclass' has initializer but incomplete type arch/powerpc/sysdev/timer.c:52: error: unknown field `resume' specified in initializer Signed-off-by: Srinivasa Ds Acked-by: Johannes Berg Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 12d371a69e6df96cd949af6bcb569e978e8f9d41 Author: Stephen Rothwell Date: Sun Apr 29 16:29:08 2007 +1000 [POWERPC] get_property cleanups Just another pass through arch/powerpc for old usages. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8d1cea6e1439a113b1f17eab9b4e2f0cfc24bbb0 Author: Adrian Bunk Date: Sun Apr 29 05:19:56 2007 +1000 [POWERPC] Remove the unused HTDMSOUND driver Recently, someone fixed a syntax error in the HTDMSOUND driver introduced 4 years ago. Unfortunately not by trying to compile this driver for his hardware but by code inspection - which seems to be a strong indication that there are no users left for this OSS sound driver. This patch therefore removes it. Signed-off-by: Adrian Bunk Acked-by: Dan Malek Acked-by: Marcelo Tosatti Signed-off-by: Paul Mackerras commit 4bd4aa1967628fa85a40936410acab6b8bbae6f5 Author: Olof Johansson Date: Sat Apr 28 12:49:03 2007 +1000 [POWERPC] cell: cbe_cpufreq cleanup and crash fix cbe_cpufreq cleanups: * comment format * whitespace * don't init on non-cell platforms Signed-off-by: Olof Johansson Acked-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d169d140944a67edd6f88f78b65b3117059f4380 Author: Johannes Berg Date: Sat Apr 28 08:00:03 2007 +1000 [POWERPC] Declare enable_kernel_spe in a header This patch puts enable_kernel_spe into along with enable_kernel_altivec etc. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit 8895ea483e144f8acca16adfff7c60a993e77b7d Author: Mark A. Greer Date: Sat Apr 28 06:48:24 2007 +1000 [POWERPC] Add dt_xlate_addr() to bootwrapper dt_xlate_reg() looks up the 'reg' property in the specified node to get the address and size to translate. Add dt_xlate_addr() which is passed in the address and size to translate. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit d818d7ec8bb06c1bc10270962e28fb0cbd93b64a Author: Scott Wood Date: Sat Apr 28 06:32:15 2007 +1000 [POWERPC] bootwrapper: CONFIG_ -> CONFIG_DEVICE_TREE A usage of CONFIG_DEVICE_TREE got accidentally truncated; this fix allows out-of-tree dts files to work. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 9be4dcb606e647854760fafd0bb1cb3e1a804d16 Author: Grant Likely Date: Sat Apr 28 05:50:05 2007 +1000 [POWERPC] Don't define a custom bd_t for Xilixn Virtex based boards. Why create a platform specific board_info structure that is hacked together, ugly, and dangerous, when we've got a perfectly fine common board_info structure that is hacked-together, ugly and dangerous. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 30fea61fd01955cc35c6a63260b374d7a6d12c8b Author: Grant Likely Date: Sat Apr 28 05:50:04 2007 +1000 [POWERPC] Add sane defaults for Xilinx EDK generated xparameters files Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 8b01653ab01eebc781c5a375ff336d0837f30c4e Author: Grant Likely Date: Sat Apr 28 05:50:03 2007 +1000 [POWERPC] Add uartlite boot console driver for the zImage wrapper Signed-off-by: Grant Likely Acked-by: Peter Korsgaard Signed-off-by: Paul Mackerras commit 8c38fc2b7429b26105fe244890c8d5ab3043f099 Author: Grant Likely Date: Sat Apr 28 05:50:02 2007 +1000 [POWERPC] Stop using ppc_sys for Xilinx Virtex boards The arch/ppc/syslib/ppc_sys.c infrastructure does not work well for the virtex ports. Move the ml300 and ml403 board ports over to use the new virtex_devices infrastructure. Signed-off-by: Grant Likely Acked-by: Peter Korsgaard Signed-off-by: Paul Mackerras commit d26cd57071b4358bcf3a9140a90b38514c7f345e Author: Grant Likely Date: Sat Apr 28 05:50:01 2007 +1000 [POWERPC] New registration for common Xilinx Virtex ppc405 platform devices Currently virtex support in mainline make use of the infrastructure in arch/ppc/syslib/ppc_sys.c for registering common devices on virtex ppc405 platforms. The ppc_sys.c code is not well suited to the dynamic nature of FPGA designs and makes adding new board ports more complex. This patch adds a new listing of common devices which does not depend on the ppc_sys.c infrastructure. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 5ff084f21da25ffcc5e0cb0293a0ea588cb46272 Author: Grant Likely Date: Sat Apr 28 05:50:00 2007 +1000 [POWERPC] Merge common virtex header files The header files for the ml403 and ml300 are virtually identical, merge them into a single file. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 2b10caf380b0dbe3923b0ceefed17e3eaa7f2d4b Author: Grant Likely Date: Sat Apr 28 05:49:59 2007 +1000 [POWERPC] Rework Kconfig dependancies for Xilinx Virtex ppc405 platform Reverse dependency order for Xilinx Virtex parts. For these parts, It makes more sense for boards/chips to specify which features they provide instead of the features listing the parts they are implemented in. I think it also makes adding new board ports simpler. Signed-off-by: Grant Likely Acked-by: Peter Korsgaard Signed-off-by: Paul Mackerras commit c146c958dc953da172231577d7ee81cf06d7eeb4 Author: Olof Johansson Date: Fri Apr 27 15:52:43 2007 +1000 [POWERPC] Clean up cpufreq Kconfig dependencies Shuffle Kconfig order, making the platform drivers menu depend on the global option instead of each driver being dependent on it. Also fix dependency of PPC_PMAC on the G5 one. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit e089ad46dbede9eed650f12d039d1addc05adf43 Author: Paul Mackerras Date: Mon Apr 30 10:24:24 2007 +1000 Revert "[POWERPC] Autodetect serial console on efika" This reverts commit 9414715a7bbb45450015e9bc2676d85d919d08d4, at Olaf Hering's request: > Paul, please discard this patch. The optional graphics card may have > also device_type 'serial' if it is in VGA mode. > I will send an updated patch later. commit bcfd09ee48f77a4fe903dbc3757e7af931998ce1 Author: Stefan Richter Date: Sat Apr 21 21:02:52 2007 +0200 ieee1394: remove garbage from Kconfig Signed-off-by: Stefan Richter commit 3f94aa4d69bb9837857bac2755090a3cd28bfdc1 Author: Stefan Richter Date: Sat Apr 21 20:54:37 2007 +0200 ieee1394: more help in Kconfig - s/Device Drivers/Controllers/ - clarify who needs pcilynx - don't recommend Y for raw1394; M is typically used Signed-off-by: Stefan Richter commit 749cf76620a8f0d1ab4ff83c8e8f18028045a094 Author: Simon Arlott Date: Tue Apr 24 23:44:57 2007 +0100 ieee1394: ohci1394: Fix mistake in printk message. Fix the "attempting to setting" message in ohci1394. Signed-off-by: Simon Arlott Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter commit 2ab77524693ab855fc756faff0d1d26cb11a89e8 Author: Bernhard Kauer Date: Fri Apr 20 13:59:54 2007 +0200 ieee1394: ohci1394: remove unnecessary rcvPhyPkt bit flipping in LinkControl register Remove the unneeded code that clears, sets and again clears the rcvPhyPkt bit in the ohci1394 LinkControl register in ohci_initialize(). Signed-off-by: Bernhard Kauer Signed-off-by: Stefan Richter commit c13596b0e5db1135ca22d068eca16ffe1e0ea912 Author: Stefan Richter Date: Thu Apr 12 22:21:55 2007 +0200 ieee1394: ohci1394: fix cosmetic problem in error logging If posted write failed, an "Unhandled interrupt(s) 0x00000100" message was logged by mistake. Signed-off-by: Stefan Richter commit 21b2c5647b057624628888857f0e2246538a80b1 Author: Stefan Richter Date: Mon Apr 23 21:28:47 2007 +0200 ieee1394: eth1394: send async streams at S100 on 1394b buses eth1394 did not work on buses consisting of S100B...S400B hardware because it attempted to send GASP packets at S800. Signed-off-by: Stefan Richter commit 809e905ce73eaa13972c2617959f8ec16e7d0d6f Author: Akinobu Mita Date: Sat Apr 21 18:36:26 2007 +0900 ieee1394: eth1394: fix error path in module_init This patch fixes some error handlings in eth1394: - check return value of kmem_cache_create() - cleanup resources if hpsb_register_protocol() fails Signed-off-by: Akinobu Mita Signed-off-by: Stefan Richter (whitespace) commit fdc0092bfd68cedfb9929256957f64c2c2760b5c Author: Stefan Richter Date: Mon Apr 2 02:24:27 2007 +0200 ieee1394: eth1394: correct return codes in hard_start_xmit This patch actually doesn't change anything because there was always 0 == NETDEV_TX_OK returned before. TODO: Return NETDEV_TX_BUSY in error case and test in different error conditions. Signed-off-by: Stefan Richter commit 53f374e76c2b37835966382b27efb6bb3715f9d8 Author: Stefan Richter Date: Mon Apr 2 02:23:19 2007 +0200 ieee1394: eth1394: hard_start_xmit is called in atomic context Signed-off-by: Stefan Richter commit 099398719bb53119734354bc079840bebf1c7386 Author: Stefan Richter Date: Mon Apr 2 02:22:21 2007 +0200 ieee1394: eth1394: some conditions are unlikely Signed-off-by: Stefan Richter commit 2e2173df68f419aa41558e1fa90d7263b2d0211f Author: Stefan Richter Date: Mon Apr 2 02:21:46 2007 +0200 ieee1394: eth1394: clean up fragment_overlap offset > fi->offset + fi->len - 1 == !(offset < fi->offset + fi->len) offset + len - 1 < fi->offset == !(offset + len > fi->offset) !(A || B) == (!A && !B) Signed-off-by: Stefan Richter commit 01590d20b42400be46cf4e565b39764e38ca87fe Author: Stefan Richter Date: Mon Apr 2 02:20:37 2007 +0200 ieee1394: eth1394: don't use alloc_etherdev Signed-off-by: Stefan Richter commit 8a62bf7978eaa428e400677d5e5f5441262f79b1 Author: Stefan Richter Date: Mon Apr 2 02:19:48 2007 +0200 ieee1394: eth1394: omit useless set_mac_address callback We can't reconfigure the MAC address, hence we don't need the callback. Signed-off-by: Stefan Richter commit 599bba9647f7813c09bf921c72351609430c8a33 Author: Stefan Richter Date: Mon Apr 2 02:19:02 2007 +0200 ieee1394: eth1394: CONFIG_INET is always defined because CONFIG_IEEE1394_ETH1394 depends on it. Signed-off-by: Stefan Richter commit 17bab407d54ba1320d71a45641ecffc33bd331c1 Author: Stefan Richter Date: Tue Apr 3 23:55:40 2007 +0200 ieee1394: eth1394: allow MTU bigger than 1500 RFC 2734 says: "IP-capable nodes may operate with an MTU size larger than the default [1500 octets], but the means by which a larger MTU is configured are beyond the scope of this document." Allow users to set an MTU bigger than 1500. Signed-off-by: Stefan Richter commit f982e5ffcfa9d0a2480d0b8261bd11521f3a1994 Author: Adrian Bunk Date: Fri Apr 27 01:47:32 2007 +0200 ieee1394: unexport highlevel_host_reset highlevel_host_reset no longer has any modular users. Signed-off-by: Adrian Bunk Signed-off-by: Stefan Richter commit 246a5fdade88cbeba09d07c69f67444a24a57d79 Author: Stefan Richter Date: Mon Apr 2 02:16:40 2007 +0200 ieee1394: eth1394: contain host reset Call only eth1394's own host reset handler from .tx_timeout, not the reset hooks of all other IEEE 1394 drivers. A minor drawback of this patch is that ether1394_host_reset by timeout is not serialized against ether1394_host_reset by bus reset. Signed-off-by: Stefan Richter commit 5009d269610b4c89761dcae296d9717f2f48234b Author: Stefan Richter Date: Mon Apr 2 02:15:53 2007 +0200 ieee1394: eth1394: shorter error messages Signed-off-by: Stefan Richter commit 027611b84260cf3adf14e30d2480007795829e6e Author: Stefan Richter Date: Mon Apr 2 02:15:21 2007 +0200 ieee1394: eth1394: correct a memset argument The old argument calculated the correct value in a wrong way. Signed-off-by: Stefan Richter commit d06c1ddad9055eef55456abbae795279d6b1bbcf Author: Stefan Richter Date: Mon Apr 2 02:14:45 2007 +0200 ieee1394: eth1394: refactor .probe and .update Move common code into an extra function. This implicitly adds a missing node_info->fifo = CSR1212_INVALID_ADDR_SPACE; to .update. Signed-off-by: Stefan Richter commit 5e7abccd38f7f2ce838eb49a657eea70b22f0803 Author: Stefan Richter Date: Mon Apr 2 02:13:51 2007 +0200 ieee1394: eth1394: .probe and .update may sleep Signed-off-by: Stefan Richter commit efbeccf174bac803421a5f35076a17af47c9ce00 Author: Stefan Richter Date: Mon Apr 2 02:12:32 2007 +0200 ieee1394: eth1394: coding style Adjust white space and line wraps. Remove unnecessary parentheses and braces, unused macros, and some of the more redundant comments. Signed-off-by: Stefan Richter commit 09d7a96f5ad1019386594e2795c1f0229dd43305 Author: Jean Delvare Date: Sun Apr 1 10:06:33 2007 +0200 ieee1394: eth1394: Move common recv_init code to helper function There is some common code between ether1394_open and ether1394_add_host which can be moved to a separate helper function for a slightly smaller eth1394 driver (-160 bytes on i386.) Signed-off-by: Jean Delvare Signed-off-by: Stefan Richter commit 70093cfde8af52b0b9030d90f9004cbde38f2ff8 Author: Stefan Richter Date: Tue Mar 27 01:36:50 2007 +0200 ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts Until now, ieee1394 put an IP-over-1394 capability entry into each new host's config ROM. As soon as the controller was initialized --- i.e. right after modprobe ohci1394 --- this entry triggered a hotplug event which typically caused auto-loading of eth1394. This irritated or annoyed many users and distributors. Of course they could blacklist eth1394, but then ieee1394 wrongly advertized IP-over- 1394 capability to the FireWire bus. Therefore - remove the offending kernel config option IEEE1394_CONFIG_ROM_IP1394, - let eth1394 add the ROM entry by itself, i.e. only after eth1394 was loaded. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=7793 . To emulate the behaviour of older kernels, simply add the following to to /etc/modprobe.conf: install ohci1394 /sbin/modprobe eth1394; \ /sbin/modprobe --ignore-install ohci1394 Note, autoloading of eth1394 when an _external_ IP-over-1394 capable device is discovered is _not_ affected by this patch. Signed-off-by: Stefan Richter commit e00f04a70fa387b3accc81b5c346200f836e2a52 Author: Stefan Richter Date: Sun Mar 18 12:23:11 2007 +0100 ieee1394: eth1394: reduce excessive function inlining Shrinks eth1394.ko by about 5%. Many of these functions have only one caller and are therefore auto- inlined anyway. Signed-off-by: Stefan Richter commit 2cd556ae61c862f4d00bb63863c6e5c67fd55bd4 Author: Stefan Richter Date: Sat Feb 10 23:57:57 2007 +0100 ieee1394: eth1394: clean up host removal ether1394_add_host() guarantees that hi->dev != NULL if hi != NULL. Signed-off-by: Stefan Richter commit 157188cb54b22e5c0c6439ef0500ba97b068097a Author: Stefan Richter Date: Sat Feb 10 23:56:38 2007 +0100 ieee1394: eth1394: unregister address space in failure case Warn if hpsb_allocate_and_register_addrspace() failed. Unregister the address space if something else failed. Signed-off-by: Stefan Richter commit ea9057ad622db41745be416e29c5760d141a6514 Author: Stefan Richter Date: Mon Apr 23 21:27:13 2007 +0200 ieee1394: send async streams at S100 The comment says it all. This affects only asynchronous streams sent via raw1394; the eth1394 driver has own code and needs an own fix. Signed-off-by: Stefan Richter commit df18ce85de3deeaf311f96eb3d47e45fc7050f87 Author: Milind Arun Choudhary Date: Wed Apr 11 23:24:34 2007 +0530 ieee1394: SPIN_LOCK_UNLOCKED cleanup SPIN_LOCK_UNLOCKED cleanup,use DEFINE_SPINLOCK instead Signed-off-by: Milind Arun Choudhary Signed-off-by: Stefan Richter commit 9be51c5d789a4864a820662460b8896b12a34c9d Author: Stefan Richter Date: Fri Mar 30 19:21:05 2007 +0200 ieee1394: nodemgr: unify some error messages Shrinks object file size a little bit. Signed-off-by: Stefan Richter commit 9324547235f63b7ebc905feb606291fce5d85ef5 Author: Stefan Richter Date: Fri Mar 30 19:19:55 2007 +0200 ieee1394: nodemgr: less noise in dmesg Everytime when eth1394 or a libraw1394 client updates the configuration ROM, a certain sysfs attribute cannot be added since it already exists. Signed-off-by: Stefan Richter commit d4c60085a97549ad3bb648e0652b9b48b7e42fa8 Author: Stefan Richter Date: Sun Mar 18 00:55:15 2007 +0100 ieee1394: unroll a weird macro This is a coding style touch-up for ieee1394's handle_incoming_packet(). A preprocessor macro contained hardwired variable names and, even worse, the 'break' keyword. This macro is now unrolled and removed. Also, all 'break's which had the effect of a return are replaced by return. And a FIXME comment is brought up to date. Signed-off-by: Stefan Richter commit b9e5eb067b6882f564e1daa26e37ad6145f01da4 Author: Andrew Morton Date: Thu Apr 26 00:16:04 2007 -0700 ieee1394: iso.c needs sched.h alpha: drivers/ieee1394/iso.c: In function 'hpsb_iso_xmit_sync': drivers/ieee1394/iso.c:440: error: invalid use of undefined type 'struct task_struct' drivers/ieee1394/iso.c:440: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) drivers/ieee1394/iso.c:440: error: (Each undeclared identifier is reported only once drivers/ieee1394/iso.c:440: error: for each function it appears in.) drivers/ieee1394/iso.c:440: warning: implicit declaration of function 'signal_pending' drivers/ieee1394/iso.c:440: error: invalid use of undefined type 'struct task_struct' drivers/ieee1394/iso.c:440: warning: implicit declaration of function 'schedule' drivers/ieee1394/iso.c: In function 'hpsb_iso_wake': drivers/ieee1394/iso.c:562: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter (brought into alphabetic order) commit 9543a931dcd82bfc5143807440ff63c7721a2e2a Author: Stefan Richter Date: Tue Apr 10 02:39:07 2007 +0200 ieee1394: some more includes Signed-off-by: Stefan Richter commit 3a23a81e83fddb40ec0242c74acb4b1829676bfc Author: Torsten Kaiser Date: Mon Apr 9 21:03:15 2007 +0200 ieee1394: ieee1394_transactions needs sched.h drivers/ieee1394/ieee1394_transactions.c fails for me if CONFIG_SMP=n gcc complains: CC drivers/ieee1394/ieee1394_transactions.o drivers/ieee1394/ieee1394_transactions.c: In function 'hpsb_get_tlabel': drivers/ieee1394/ieee1394_transactions.c:183: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) drivers/ieee1394/ieee1394_transactions.c:183: error: (Each undeclared identifier is reported only once Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter (added comment) commit 504945c9c6954b83758272d04797f31437dfce9e Author: Randy Dunlap Date: Tue Apr 3 13:00:47 2007 -0700 ieee1394: ieee1394_core printk format Fix printk format string: drivers/ieee1394/ieee1394_core.c:702: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Stefan Richter commit 7542e0e696d1b6e71e6eb3183cbf2c63ec6b5acb Author: Stefan Richter Date: Sun Mar 25 22:22:40 2007 +0200 ieee1394: remove usage of skb_queue as packet queue This considerably reduces the memory requirements for a packet and eliminates ieee1394's dependency on CONFIG_NET. Signed-off-by: Stefan Richter commit d265250341f83fa904d4fecdfadb46d7ab50765f Author: Stefan Richter Date: Wed Mar 14 00:29:20 2007 +0100 ieee1394: csr1212: log if devices have CRC errors in their ROM This will point out firmware bugs. I tested with 11 SBP-2 devices and one OS X PC and got these errors from two old CD-RWs only. Signed-off-by: Stefan Richter commit 511f7b3227eef52b56cf336a5313d8ff766c3050 Author: Stefan Richter Date: Wed Mar 14 00:28:36 2007 +0100 ieee1394: csr1212: more sensible names for jump targets Code beneath two labels called "fail" is actually also reached in case of success. Signed-off-by: Stefan Richter commit c94ccf9e3389ff55078a049bfe59b82f854436e8 Author: Stefan Richter Date: Wed Mar 14 00:27:46 2007 +0100 ieee1394: csr1212: warn on unreachable code We want bugs to show themselves. Signed-off-by: Stefan Richter commit a1c6250cb60a52a7f799610f9a4b1f4e8671175f Author: Stefan Richter Date: Wed Mar 14 00:27:18 2007 +0100 ieee1394: shrink csr1212_new_string_descriptor_leaf Make unnecessarily generic code specific and thus simpler. Shrink a lookup table from 128 to 16 bytes. Signed-off-by: Stefan Richter commit c868ae2a1d1ad3a474d2a17295ac1ab190b30061 Author: Stefan Richter Date: Wed Mar 14 00:26:38 2007 +0100 ieee1394: csr1212: coding style Whitespace, line breaks, braces... Signed-off-by: Stefan Richter commit fd2f3bddaeb20564f32e59f64e5063fbe0c8f4cc Author: Stefan Richter Date: Sun Mar 11 22:51:24 2007 +0100 ieee1394: replace vmalloc by kmalloc in csr1212 The biggest chunk ever allocated by CSR1212_MALLOC is 1024 Bytes + sizeof(struct csr1212_csr_rom_cache) big. Most of the time much smaller data structures are allocated. Therefore vmalloc is a waste. The one exception is csr1212_append_new_cache() which is called to append a chunk of CSR1212_EXTENDED_ROM_SIZE + sizeof(struct csr1212_csr_rom_cache) if the currently allocated ROM cache is too small. CSR1212_EXTENDED_ROM_SIZE is generously defined as 256 kBytes. In SVN commit 1220, Steve Kinneberg lowered this to 2 kBytes in the config_rom_2.4 branch. This same commit also switched CSR1212_MALLOC from kmalloc to vmalloc in the SVN trunk branch: > r1220 | kberg | 2004-05-31 01:51:44 +0200 (Mon, 31 May 2004) | 13 lines > > CSR1212 Extended ROM bug fixes: > trunk line changes: > - Use vmalloc instead of kmalloc > - Change delayed_reset_bus() to operate in a work_queue instead of a > timer interrupt. > - Fix hpsb_allocate_and_register_addrspace() to not allocate space > on top of already allocated space. > - Fix problems in csr1212.c filling ConfigROM images when extend > ROMs are present. > config-rom-2.4 changes: > - Changed extended rom allocation from 256K to 8K. (It was actually 2 kB, not 8 kB.) > - Fix hpsb_allocate_and_register_addrspace() to not allocate space > on top of already allocated space. > - Fix problems in csr1212.c filling ConfigROM images when extend > ROMs are present. I am now setting CSR1212_EXTENDED_ROM_SIZE to 2 kB minus the overhead of struct csr1212_csr_rom_cache. Note, this code path is not used by the in-kernel drivers though. raw1394 could trigger it, but the respective libraw1394 functions don't exist yet. Furthermore, userspace programs can replace the entire local ROM via raw1394. If kmalloc does not fulfill their needs --- well, tough luck. I decree that nobody needs such huge extended ROMs. (Extended ROMs are defined by IEEE 1212 clause 7.7.18. The spec does not impose practically relevant restrictions on the size of extended ROM chunks.) Another potentially demanding use of CSR1212_MALLOC is if external FireWire devices come with Extended ROM entries. If they are too big for kmalloc (or have been too big for vmalloc) we just fail to read their ROM. This is quite unlikely though, to my knowledge. Signed-off-by: Stefan Richter commit c1a37f2c6572031203243dd083585aa4a1c138d5 Author: Stefan Richter Date: Wed Mar 14 00:20:53 2007 +0100 ieee1394: de-inline some functions This small reorganization of public csr1212 functions saves one exported symbol and a few bytes in the driver modules. Signed-off-by: Stefan Richter commit 64ff712321875c2457d3a77d3fc4ab4989f7a8c0 Author: Stefan Richter Date: Sun Mar 11 22:50:13 2007 +0100 ieee1394: stricter error checks in csr1212 return -EINVAL becomes BUG_ON in checks of function call parameters. Signed-off-by: Stefan Richter commit 982610bd0d8e64baff36099f6dc456ea52d22257 Author: Stefan Richter Date: Sun Mar 11 22:49:34 2007 +0100 ieee1394: csr1212: rename some types Use u8, u32 etc. instead of u_int8_t, csr1212_quad_t etc. Signed-off-by: Stefan Richter commit 7fb9addba8ebd67306099e7fa629ff76c1be2105 Author: Stefan Richter Date: Sun Mar 11 22:49:05 2007 +0100 ieee1394: drop csr1212's support for external compilation csr1212 was written to be compiled either as part of the ieee1394 kernel driver or of an anticipated IEEE 1212 userspace library. We now drop support for the latter. The costs in terms of code footprint and depth of abstraction are not countered by any actual benefit. Also remove some obsolete #includes. Signed-off-by: Stefan Richter commit 6c88e475660edcd5571a5aab39ce8062183af951 Author: Stefan Richter Date: Sun Mar 11 22:47:34 2007 +0100 ieee1394: remove unused csr1212 code Delete unused code. Make some extern functions static. Remove superfluous inline keywords. Move private definitions from csr1212.h to csr1212.c. Signed-off-by: Stefan Richter commit e167c88ebb2fcc2d98bd9a9970ae29e4fda4bdf9 Author: Stefan Richter Date: Mon Mar 5 03:07:38 2007 +0100 ieee1394: small header cleanup Signed-off-by: Stefan Richter commit afd6546d8d2d8ba1dbe1d2508baf81eebdca3d79 Author: Stefan Richter Date: Mon Mar 5 03:06:23 2007 +0100 ieee1394: move some comments from declaration to definition Signed-off-by: Stefan Richter commit ef8153348f82688af87e19d594162ca81741fe6a Author: Stefan Richter Date: Mon Mar 5 03:05:32 2007 +0100 ieee1394: remove declarations of nonexisting functions Signed-off-by: Stefan Richter commit f84c922ba16fdadb9e4ebf9dc177e3dbd3282f7c Author: Andrew Morton Date: Mon Apr 23 11:50:56 2007 -0700 ieee1394: sbp2: include fixes drivers/ieee1394/sbp2.c: In function 'sbp2util_access_timeout': drivers/ieee1394/sbp2.c:399: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) drivers/ieee1394/sbp2.c:399: error: (Each undeclared identifier is reported only once drivers/ieee1394/sbp2.c:399: error: for each function it appears in.) drivers/ieee1394/sbp2.c:399: warning: implicit declaration of function 'signal_pending' drivers/ieee1394/sbp2.c:399: warning: implicit declaration of function 'schedule_timeout' drivers/ieee1394/sbp2.c: In function 'sbp2_prep_command_orb_sg': drivers/ieee1394/sbp2.c:1438: warning: implicit declaration of function 'page_address' drivers/ieee1394/sbp2.c:1438: warning: passing argument 2 of 'dma_map_single' makes pointer from integer without a cast drivers/ieee1394/sbp2.c: In function 'sbp2_handle_status_write': drivers/ieee1394/sbp2.c:1842: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function) Possibly due to changes in -mm, but this file should explicitly include the headers for the stuff it uses. Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter (brought into alphabetic order) commit 3d269cb50c81d3bb01d5856d5157d4db346bab4b Author: Stefan Richter Date: Sun Feb 4 20:57:38 2007 +0100 ieee1394: sbp2: move some memory allocations into non-atomic context When the command ORB pool is created, the ORB list won't be accessed concurrently. Therefore we don't have to take the spinlock there. Signed-off-by: Stefan Richter commit 2446a79f4f0a5e88e5d8316dac407d66ac10f70d Author: Stefan Richter Date: Sun Feb 4 20:54:57 2007 +0100 ieee1394: sbp2: optimize DMA direction of s/g tables Unlike the name suggests, "cmd->scatter_gather_element" holds only the s/g table, not the actual s/g elements. Since the table is only read but never written by the device, DMA_BIDIRECTIONAL can be replaced by DMA_TO_DEVICE which may be cheaper on some architectures. Signed-off-by: Stefan Richter commit 0555659d63c285ceb7ead3115532e1b71b0f27a7 Author: Stefan Richter Date: Sun Feb 4 20:25:43 2007 +0100 ieee1394: sbp2: enforce 32bit DMA mapping In order to use OHCI-1394 physical DMA, all s/g elements, s/g tables, ORBs, and response buffers have to reside within the first 4 GB of the FireWire controller's physical address space. Set the correct mask for DMA mappings. Signed-off-by: Stefan Richter commit f412bf440be2dfc0f0ded917410c599c002549e0 Author: Stefan Richter Date: Sun Feb 4 13:04:32 2007 +0100 ieee1394: sbp2: remove unnecessary alignments of struct members The members "dma_addr_t command_orb_dma" and "dma_addr_t sge_dma" of sbp2.h::sbp2_command_info do not have to be aligned themselves --- only the memory which they point to has to be. The member "struct sbp2_command_orb command_orb" has to be aligned on 4 bytes boundary which is guaranteed because it contains u32 members. The member "struct sbp2_unrestricted_page_table scatter_gather_element", i.e. the SBP-2 s/g table, has to be aligned on 8 bytes boundary according to the SBP-2 spec. This is not a requirement for FireWire controllers but could be expected by SBP-2 targets. I see no need to align the members command_orb and scatter_gather_element on CPU cacheline boundaries. It could have performance benefits, but on the other hand sbp2 has a somewhat wasteful allocation scheme which should be optimized first before further tweaks like cacheline alignments. (E.g. don't always allocate SG_ALL s/g table elements.) Note, before as well as after the patch, the code relies on the assumption that memory alignment in the virtual address space is preserved in the physical address space after DMA mapping. Signed-off-by: Stefan Richter commit 11941a321d49cd2cafc8e64f66cbfed60fc1c691 Merge: f61c912... 46386b5... Author: Jiri Kosina Date: Sun Apr 29 22:19:02 2007 +0200 Merge branch 'field-zeroing' into for-linus commit e389f9aec689209724105ae80a6c91fd2e747bc9 Merge: f73b0a0... b4cf205... Author: Linus Torvalds Date: Sun Apr 29 10:48:48 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (107 commits) smc911x: fix compilation breakage wjen debug is on [netdrvr] eexpress: minor corrections add NAPI support to sb1250-mac.c ixgb: ROUND_UP macro cleanup in drivers/net/ixgb e1000: ROUND_UP macro cleanup in drivers/net/e1000 Generic HDLC sparse annotations e100: Optionally use I/O mode only to access register space e100: allow bad MAC address when running with invalid eeprom csum ehea: fix for dlpar support ehea: fix for sysfs entries 3C509: Remove unnecessary include of NetXen: Fix for vmalloc issues NetXen: Fixes for Power PC architecture NetXen: Port swap feature for multi port cards NetXen: Removal of redundant macros NetXen: Multi PCI support for Quad cards NetXen: Removal of redundant argument passing NetXen: Use multiple PCI functions [netdrvr e100] experiment with doing RX in a similar manner to eepro100 [PATCH] ieee80211: add missing global needed by IEEE80211_DEBUG_XXXX ... commit f73b0a08eae0e28c50db5dd5ab8245546918bfb6 Merge: 6b06d2c... 2250363... Author: Linus Torvalds Date: Sun Apr 29 10:48:21 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (86 commits) SPIN_LOCK_UNLOCKED cleanup in drivers/ata/pata_winbond.c drivers/ata/pata_cmd640.c: fix build with CONFIG_PM=n pata_hpt37x: Further small fixes pata_hpt3x2n: Add HPT371N support and other bits ata: printk warning fixes libata: separate ATA_EHI_DID_RESET into DID_SOFTRESET and DID_HARDRESET ahci: consolidate common port flags ata_timing: ensure t->cycle is always correct libata: add missing call to ->cable_detect() in new EH path pata_amd: remove contamination added during cable_detect conversion libata: Handle drives that require a spin-up command before first access libata: HPA support libata: kill probe_ent and related helpers libata: convert the remaining PATA drivers to new init model libata: convert the remaining SATA drivers to new init model libata: convert ata_pci_init_native_mode() users to new init model libata: convert drivers with combined SATA/PATA ports to new init model libata: add init helpers including ata_pci_prepare_native_host() libata: convert native PCI host handling to new init model libata: convert legacy PCI host handling to new init model ... commit 6b06d2cc6d52830e3e0c001006b26255f47184dd Merge: b9099ff... aac60c1... Author: Linus Torvalds Date: Sun Apr 29 10:47:25 2007 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (105 commits) sonypi: use mutex instead of semaphore sony-laptop: remove user visible camera controls as platform attributes meye: make meye use sony-laptop instead of sonypi sony-laptop: add a meye-usable include file for camera ops sony-laptop: complete the motion eye camera support in sony-laptop sonypi: try to detect if sony-laptop has already taken one of the known ioports sonypi: suggest sonypi users to try sony-laptop instead sony-laptop: add edge modem support (also called WWAN) sony-laptop: add locking on accesses to the ioport and global vars sony-laptop: add camera enable/disable parameter, better handle possible infinite loop thinkpad-acpi: make drivers/misc/thinkpad_acpi:fan_mutex static ACPI: thinkpad-acpi: add sysfs support to wan and bluetooth subdrivers ACPI: thinkpad-acpi: add sysfs support to hotkey subdriver ACPI: thinkpad-acpi: improve dock subdriver initialization ACPI: thinkpad-acpi: improve debugging for acpi helpers ACPI: thinkpad-acpi: improve fan control documentation ACPI: thinkpad-acpi: map ENXIO to EINVAL for fan sysfs ACPI: thinkpad-acpi: fix a fan watchdog invocation ACPI: thinkpad-acpi: do not arm fan watchdog if it would not work ACPI: thinkpad-acpi: add a fan-control feature master toggle ... commit f61c9127b9840661244b1b6571e4304a7f0b5c73 Author: Jiri Kosina Date: Sun Apr 29 13:14:56 2007 +0200 USB HID: don't warn on idVendor == 0 It turns out that there are broken devices out there that incorrectly report VID/PID as 0x000, see http://lkml.org/lkml/2007/4/27/496 Therefore we should not confuse users by dumping warnings and stacktraces in such situation. It is not possible to add quirks for such horribly broken devices, but currently that's not needed. Signed-off-by: Jiri Kosina commit 04b090d50c88ac8e5ec9c2e985bb65bd153893aa Author: Martin Schwidefsky Date: Sat Apr 28 23:03:59 2007 -0700 [AF_IUCV/IUCV]: smp_call_function deadlock Calling smp_call_function can lead to a deadlock if it is called from tasklet context. Fixing this deadlock requires to move the smp_call_function from the tasklet context to a work queue. To do that queue the path pending interrupts to a separate list and move the path cleanup out of iucv_path_sever to iucv_path_connect and iucv_path_pending. This creates a new requirement for iucv_path_connect: it may not be called from tasklet context anymore. Also fixed compile problem for CONFIG_HOTPLUG_CPU=n and another one when walking the cpu_online mask. When doing this, we must disable cpu hotplug. Signed-off-by: Frank Pavlic Signed-off-by: Martin Schwidefsky Signed-off-by: David S. Miller commit d0772b70faaf8e9f2013b6c4273d94d5eac8047a Author: Eric Sesterhenn Date: Sat Apr 28 21:26:23 2007 -0700 [IPV6]: Fix slab corruption running ip6sic From: Eric Sesterhenn Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 65bb723c9502b7ba0a3aad13bdac8832e213ba74 Author: Gerrit Renker Date: Sat Apr 28 21:21:46 2007 -0700 [TCP]: Update references in two old comments This updates references to drafts in comments which must be about 10 years old. Internet draft draft-ietf-tcpimpl-prob-03.txt expired in 1998 and was replaced by RFC 2525 in March 1999. Section 3.10 of the draft maps almost identically into section 2.17 of RFC 2525: both are entitled "Failure to RST on close with data pending", the differences in text body amount to a typo and minor sentence change. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit ecfd6b183780c6d9e85873693b3ce6c5f4d08b58 Author: Jamal Hadi Salim Date: Sat Apr 28 21:20:32 2007 -0700 [XFRM]: Export SPD info With this patch you can use iproute2 in user space to efficiently see how many policies exist in different directions. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 5632c5152aa621885d87ea0b8fdd5a6bb9f69c6f Author: Stephen Hemminger Date: Sat Apr 28 21:16:39 2007 -0700 [IPV6]: Track device renames in snmp6. When network device's are renamed, the IPV6 snmp6 code gets confused. It doesn't track name changes so it will OOPS when network device's are removed. The fix is trivial, just unregister/re-register in notify handler. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit aad97f38b71dd2ecd730b3a3dce8264d13fbcd56 Author: Vlad Yasevich Date: Sat Apr 28 21:09:04 2007 -0700 [SCTP]: Fix sctp_getsockopt_local_addrs_old() to use local storage. sctp_getsockopt_local_addrs_old() in net/sctp/socket.c calls copy_to_user() while the spinlock addr_lock is held. this should not be done as copy_to_user() might sleep. the call to sctp_copy_laddrs_to_user() while holding the lock is also problematic as it calls copy_to_user() Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 5a1b5898ee9e0bf68a86609ecb9775457b1857a5 Author: Rusty Russell Date: Sat Apr 28 21:04:03 2007 -0700 [NET]: Remove NETIF_F_INTERNAL_STATS, default to internal stats. Herbert Xu conviced me that a new flag was overkill; every driver currently overrides get_stats, so we might as well make the internal one the default. If someone did fail to set get_stats, they would now get all 0 stats instead of "No statistics available". Signed-off-by: Rusty Russell Acked-by: Herbert Xu Signed-off-by: David S. Miller commit d16bfd0c77b35a0a0f0e159b94b9921510bf7934 Author: Sergei Shtylyov Date: Sat Apr 28 20:58:22 2007 -0700 [NETPOLL]: Remove CONFIG_NETPOLL_RX Get rid of the CONFIG_NETPOLL_RX option completely since all the dependencies have been removed long ago... Signed-off-by: Sergei Shtylyov Acked-by: Jeff Garzik Acked-by: Matt Mackall Signed-off-by: David S. Miller commit 5f286e113fa377e50bd18fc45e5a0d4d83f6950c Author: Sergei Shtylyov Date: Sat Apr 28 20:57:37 2007 -0700 [NETPOLL]: Fix TX queue overflow in trapped mode. CONFIG_NETPOLL_TRAP causes the TX queue controls to be completely bypassed in the netpoll's "trapped" mode which easily causes overflows in the drivers with short TX queues (most notably, in 8139too with its 4-deep queue). So, make this option more sensible by making it only bypass the TX softirq wakeup. Signed-off-by: Sergei Shtylyov Acked-by: Jeff Garzik Acked-by: Tom Rini Acked-by: Matt Mackall Signed-off-by: David S. Miller commit aac60c11132d7ab0776cf036ac9fd6113a210859 Merge: 12a5a71... 79fff27... Author: Len Brown Date: Sat Apr 28 23:19:25 2007 -0400 Pull bugzilla-8346 into release branch commit 12a5a712123b81a8ba0bc486e2384a375c00f095 Merge: 14d2178... 439a888... Author: Len Brown Date: Sat Apr 28 23:16:59 2007 -0400 Pull sbs into release branch commit 14d21785885c018611efd8aa75a5c11eaea29087 Merge: 03feb05... 62a6d7f... Author: Len Brown Date: Sat Apr 28 23:13:03 2007 -0400 Pull dock into release branch commit 03feb0524660bcd890674d11d29a1873ca14d13c Merge: fb16596... 9fd9f8e... Author: Len Brown Date: Sat Apr 28 23:12:56 2007 -0400 Pull ec into release branch commit fb16596997ded3e70d308bec58e32c1e2c5cf9b0 Merge: f188291... afd3810... Author: Len Brown Date: Sat Apr 28 23:12:03 2007 -0400 Pull misc-for-upstream into release branch commit f188291aec9b17ef7cec01db66b9cdb6fae26372 Merge: cfaae3e... 836a53f... Author: Len Brown Date: Sat Apr 28 23:11:19 2007 -0400 Pull thinkpad into release branch Conflicts: drivers/misc/Kconfig Signed-off-by: Len Brown commit cfaae3ee4a0d00c6b22780057e958d625499e90c Merge: eaf60d6... c6c6010... Author: Len Brown Date: Sat Apr 28 23:09:57 2007 -0400 Pull sony into release branch commit eaf60d6924759eb2a249c0b568533a90c238061b Merge: de46c33... 8ec555c... Author: Len Brown Date: Sat Apr 28 22:18:21 2007 -0400 Pull asus into release branch commit c6c60106b9584f17c55e4c5e0ce9b905a1a6cdb6 Author: Matthias Kaehlcke Date: Tue Apr 24 22:02:35 2007 +0200 sonypi: use mutex instead of semaphore the Sony Programmable I/O Control driver uses a semaphore as mutex. use the mutex API instead of the (binary) semaphore Signed-off-by: Matthias Kaehlcke Acked-by: Mattia Dongili Signed-off-by: Len Brown commit 1b20d34406775369d50fc2ffe27a64a0d6fd313e Author: malattia@linux.it Date: Sat Apr 28 23:36:40 2007 +0900 sony-laptop: remove user visible camera controls as platform attributes Avoid giving the user the possibility to shoot his own foot and let the meye driver enable/disable the camera wisely (PCI_ID based). Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit cbefb762b67fa6d3eb2a48ae3380358a940e8c9d Author: malattia@linux.it Date: Sat Apr 28 23:36:26 2007 +0900 meye: make meye use sony-laptop instead of sonypi Change sonypi_camera_command() calls to sony_pic_camera_command() and use the renamed macros. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 1ce82c14d06ff68380d7c647f768858e077930c5 Author: malattia@linux.it Date: Sat Apr 28 23:34:36 2007 +0900 sony-laptop: add a meye-usable include file for camera ops Copy and rename (for easier co-existence) the MEYE-wise exported interface. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit e364632e740fe9fcb401e5ece3be69e4d81c5a80 Author: malattia@linux.it Date: Sat Apr 28 23:34:22 2007 +0900 sony-laptop: complete the motion eye camera support in sony-laptop Add the exported sony_pic_camera_command() function to make the MEYE driver happy. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 1a3e323907dc5991cba2d715d5db3ae2eac78280 Author: malattia@linux.it Date: Sat Apr 28 23:34:10 2007 +0900 sonypi: try to detect if sony-laptop has already taken one of the known ioports Get the IO resources list in sony-laptop in the same order as listed in sonypi and make sonypi check if one of those is already busy. The sonypi check can be disabled by a module parameter in case the user thinks we are plainly wrong (check_ioport=0). Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 74a882e4857414a98ca5904b3be90fb6aba2f25e Author: malattia@linux.it Date: Sat Apr 28 23:22:11 2007 +0900 sonypi: suggest sonypi users to try sony-laptop instead Try to migrate sonypi users to sony-laptop gracefully. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 9476cdfae61a3c3fa61d06c18dd002b03671ca9f Author: malattia@linux.it Date: Sat Apr 28 23:21:42 2007 +0900 sony-laptop: add edge modem support (also called WWAN) Some SZ Vaios have a gsm built-in modem. Allow powering on/off this device. Thanks to Joshua Wise for the base code. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 9f9f0761712928768198278c6cbc5cafe5502d38 Author: malattia@linux.it Date: Sat Apr 28 23:19:36 2007 +0900 sony-laptop: add locking on accesses to the ioport and global vars Better avoid having ioport commands mixing and global variables reading/writing. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 5f3d2898d79520bc8d8706ed3859060f9cbb969e Author: malattia@linux.it Date: Sat Apr 28 23:18:45 2007 +0900 sony-laptop: add camera enable/disable parameter, better handle possible infinite loop Use a parameter to enable/disable motion eye camera (for C1VE/C1VN models) controls and avoid entering an infinite loop if the camera is not present and the HW doesn't answer as we expect on io commands. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 836a53f42f3b5d5cb3a0751587ea33801e4b120d Author: Adrian Bunk Date: Sat Apr 28 21:19:38 2007 +0200 thinkpad-acpi: make drivers/misc/thinkpad_acpi:fan_mutex static This patch makes the needlessly global fan_mutex static. Signed-off-by: Adrian Bunk Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d3a6ade4f84416d774c3e5db5faae1840d55bd97 Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:17 2007 -0300 ACPI: thinkpad-acpi: add sysfs support to wan and bluetooth subdrivers Add support to sysfs to the wan and bluetooth subdrivers. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a0416420e2c6244792d6f308183ad57c40532078 Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:16 2007 -0300 ACPI: thinkpad-acpi: add sysfs support to hotkey subdriver Add the hotkey sysfs support. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d94a7f16cad7700f8d2b142cc13cfba5387af3db Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:15 2007 -0300 ACPI: thinkpad-acpi: improve dock subdriver initialization The dock sub-driver has split-personality (two subdrivers), and it was doing some unoptimal things on init because of that. Fix it so that the second half of it will only init when necessary, and only if the first half initialized sucessfully in the first place. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 5ae930e685018e2dc6d4139362213e4b283e5700 Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:14 2007 -0300 ACPI: thinkpad-acpi: improve debugging for acpi helpers Some issues with the dock subdriver proved that a slightly improved debugging setup for ACPI notifiers and handler helpers would be useful. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b39fe582eb9252dca9a62f7135bcad2e486083e5 Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:13 2007 -0300 ACPI: thinkpad-acpi: improve fan control documentation Improve fan control documentation and fix one mistake. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit c573ddb998456a89a5ccb83a922d2c8ba18484a6 Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:12 2007 -0300 ACPI: thinkpad-acpi: map ENXIO to EINVAL for fan sysfs Currently, all fan control operations return ENXIO if unsupported operations are requested, but return EINVAL if invalid fan modes are requested on a given ThinkPad. This is not strictly correct for sysfs, so map ENXIO to EINVAL in the sysfs attribute store handlers, as we do benefit from the ENXIO in other parts of the driver code. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit ca4ac2f48a4502bbbfcb47b86312273c28194f53 Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:11 2007 -0300 ACPI: thinkpad-acpi: fix a fan watchdog invocation The fan control watchdog was being called in one place even when the fan control operation had failed. Fix it. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 4985cd0a63b0713b6469ef01aae6a0e63ea72f83 Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:10 2007 -0300 ACPI: thinkpad-acpi: do not arm fan watchdog if it would not work Do not enable/rearm the fan control safety watchdog if we would not be able to do anything to the fan anyway. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit ecf2a80a97b3d38ae008fa8a3cb98cd540ac1eae Author: Henrique de Moraes Holschuh Date: Fri Apr 27 22:00:09 2007 -0300 ACPI: thinkpad-acpi: add a fan-control feature master toggle Len Brown considers that an active by default fan control interface in laptops may be too close to giving users enough rope. There is a good chance he is quite correct on this, especially if someone decides to use that interface in applets and users are not aware of its risks. This patch adds a master switch to thinkpad-acpi that enables or disables the entire fan-control feature as a module parameter: "fan_control". It defaults to disabled. Set it to non-zero to enable fan control. Also, the patch removes the expermiental status from fan control, since it is stable enough to not be called experimental, and the master switch makes it safe enough to do so. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 79fff270026dc46634563a29b99e4034028ee919 Author: Bob Moore Date: Sat Apr 28 20:53:50 2007 -0400 ACPICA: clear fields reserved before FADT r3 Linux-2.6.21 stopped booting on a P4/HT because Linux wrote the FADT.CST_CNT value to the SMI_CMD. Apparently this stumbled over some SMM instability, such as confusing SMM when invoking it from cpu1. Linux did this because even though the r2 FADT reserves the CST_CNT field, this BIOS set that field and Linux used it. Turns out that up through 2.6.20 we explicitly cleared cst_control for r2 FADTs. So here we go back to doing that, plus also clear some additional fields that are reserved until FADT r3. http://bugzilla.kernel.org/show_bug.cgi?id=8346 Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 225036314e768bbfe8331ea9b0e91ca101afe427 Author: Milind Arun Choudhary Date: Thu Apr 26 00:19:27 2007 -0700 SPIN_LOCK_UNLOCKED cleanup in drivers/ata/pata_winbond.c remove SPIN_LOCK_UNLOCKED, use DEFINE_SPINLOCK instead Signed-off-by: Milind Arun Choudhary Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4b22afd743a3882123a16135fa863558c0ac2d94 Author: Andrew Morton Date: Thu Apr 26 00:19:26 2007 -0700 drivers/ata/pata_cmd640.c: fix build with CONFIG_PM=n This is grubby, but all the ata drivers do it this way. Would it not be better to do #define ata_scsi_device_resume NULL in libata.h, remove all those ifdefs? (updated version, ug, ug) Cc: Jeff Garzik Cc: Alan Cox Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a473446856374668c4296db5256ca708ce8f7095 Author: Alan Cox Date: Thu Apr 26 00:19:25 2007 -0700 pata_hpt37x: Further small fixes Further HPT37x changes - No 66MHz 370/370A - Remove dead special case check now we use the DPLL (as per the IDE driver) Pointed out by Sergei Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 28e21c8c0d44cd63bad4c62f94ef0c5a1cb8402c Author: Alan Cox Date: Thu Apr 26 00:19:25 2007 -0700 pata_hpt3x2n: Add HPT371N support and other bits Yes its no longer 3x2n but 3xxn, I can rename it if you want Jeff - Don't reset both ports each time (Sergei) - If we can't get a DPLL then abort entirely - Use ioport access for clock (from drivers/ide) - Add HPT371N support (from drivers/ide) Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit bd1d5ec64fff579e624b7c50c8a737da112efe5f Author: Andrew Morton Date: Thu Apr 26 00:19:21 2007 -0700 ata: printk warning fixes drivers/ata/libata-core.c: In function 'ata_hpa_resize': drivers/ata/libata-core.c:986: warning: format '%lld' expects type 'long long int', but argument 5 has type 'u64' drivers/ata/libata-core.c:986: warning: format '%lld' expects type 'long long int', but argument 6 has type 'u64' drivers/ata/libata-core.c:990: warning: format '%lld' expects type 'long long int', but argument 4 has type 'u64' drivers/ata/libata-core.c:990: warning: format '%lld' expects type 'long long int', but argument 5 has type 'u64' drivers/ata/libata-core.c:1003: warning: format '%lld' expects type 'long long int', but argument 4 has type 'u64' Also fix various 80-col bustage. Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0d64a233fe6a8fd45a062fe125159854ffed60c7 Author: Tejun Heo Date: Mon Apr 23 02:41:05 2007 +0900 libata: separate ATA_EHI_DID_RESET into DID_SOFTRESET and DID_HARDRESET Separate ATA_EHI_DID_RESET into ATA_EHI_DID_SOFTRESET and ATA_EHI_DID_HARDRESET. ATA_EHI_DID_RESET is redefined as OR of the two flags. This patch doesn't introduce any behavior change. This will be used later to determine whether _SDD is necessary or not. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1188c0d83ca010c3799711e85e63dbde122e6a90 Author: Tejun Heo Date: Mon Apr 23 02:41:05 2007 +0900 ahci: consolidate common port flags Consolidate common port flags into AHCI_FLAG_COMMON. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4f701d1e9a796a3d6657e1129bee0566d7cda916 Author: Alan Cox Date: Mon Apr 23 11:55:36 2007 +0100 ata_timing: ensure t->cycle is always correct Russell King hit a case where quantisation errors accumulated such that the cycle time was shorter than rather than equal to the active/recovery time. The code already knows how to stretch times to fit the cycle time but does not know about the reverse. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c1c4e8d55757f8aec5f95eb80860e340d717c217 Author: Tejun Heo Date: Mon Apr 23 02:05:53 2007 +0900 libata: add missing call to ->cable_detect() in new EH path ->cable_detect() used to be called on by the old ata_bus_probe() path. Add invocation to ata_eh_revalidate_and_attach() right after IDENTIFYs are done. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit abcfa88bd47d433c796cf724a8a8b321a7190bdd Author: Tejun Heo Date: Mon Apr 23 02:04:38 2007 +0900 pata_amd: remove contamination added during cable_detect conversion This is added by added by cff63dfceb52c564fe1ba5394d50ab7d599a11b9 - pata: cable methods. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 169439c2e35f01e7832a9b4fc8a7446980c3d593 Author: Mark Lord Date: Tue Apr 17 18:26:07 2007 -0400 libata: Handle drives that require a spin-up command before first access (S)ATA drives can be configured for "power-up in standby", a mode whereby a specific "spin up now!" command is required before the first media access. Currently, a drive with this feature enabled can not be used at all with libata, and once in this mode, the drive becomes a doorstop. The older drivers/ide subsystem at least enumerates the drive, so that it can be woken up after the fact from a userspace HDIO_* command, but not libata. This patch adds support to libata for the "power-up in standby" mode where a "spin up now!" command (SET_FEATURES) is needed. With this, libata will recognize such drives, spin them up, and then re-IDENTIFY them if necessary to get a full/complete set of drive features data. Drives in this state are determined by looking for special values in id[2], as documented in the current ATA specs. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1e999736cafdffc374f22eed37b291129ef82e4e Author: Alan Cox Date: Wed Apr 11 00:23:13 2007 +0100 libata: HPA support Signed-off-by: Alan Cox Add support for ignoring the BIOS HPA result (off by default) and setting the disk to the full available size unless already frozen. Tested with various platforms/disks and confirmed to work with the Macintosh (which broke earlier) and ata_piix (breakage due to the LBA48 readback that Tejun fixed). For normal users this brings us, I believe, to feature parity with old IDE (and of course more featured in some areas too). Signed-off-by: Jeff Garzik commit 6bfff31e77cfa1b13490337e5a4dbaa3407e83ac Author: Tejun Heo Date: Tue Apr 17 23:44:08 2007 +0900 libata: kill probe_ent and related helpers All drivers are converted to new init model. Kill probe_ent, ata_device_add() and ata_pci_init_native_mode(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5d728824efeda61d304153bfcf1378a3c18b7d70 Author: Tejun Heo Date: Tue Apr 17 23:44:08 2007 +0900 libata: convert the remaining PATA drivers to new init model Convert pdc_adma, pata_cs5520, pata_isapnp, pata_ixp4xx_cf, pata_legacy, pata_mpc52xx, pata_mpiix, pata_pcmcia, pata_pdc2027x, pata_platform, pata_qdi, pata_scc and pata_winbond to new init model. * init_one()'s now follow more consistent init order * cs5520 now registers one host with two ports, not two hosts. If any of the two ports are disabled, it's made dummy as other drivers do. Tested pdc_adma and pata_legacy. Both are as broken as before. The rest are compile tested only. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4447d35156169cf136e829eb6b5cac2d6370f2d9 Author: Tejun Heo Date: Tue Apr 17 23:44:08 2007 +0900 libata: convert the remaining SATA drivers to new init model Convert ahci, sata_sil, sata_sil24, sata_svw, sata_qstor, sata_mv, sata_sx4, sata_vsc and sata_inic162x to new init model. Now that host and ap are available during intialization, functions are converted to take either host or ap instead of low level parameters which were inevitable for functions shared between init and other paths. This simplifies code quite a bit. * init_one()'s now follow more consistent init order * ahci_setup_port() and ahci_host_init() collapsed into ahci_init_one() for init order consistency * sata_vsc uses port_info instead of setting fields manually * in sata_svw, k2_board_info converted to port_info (info is now in port flags). port number is honored now. Tested on ICH7/8 AHCI, jmb360, sil3112, 3114, 3124 and 3132. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9a829ccfc833269bdb85751f5048288ab93678ac Author: Tejun Heo Date: Tue Apr 17 23:44:08 2007 +0900 libata: convert ata_pci_init_native_mode() users to new init model Convert drivers which use ata_pci_init_native_mode() to new init model. ata_pci_init_native_host() is used instead. sata_nv, sata_uli and sata_sis are in this category. Tested on nVidia Corporation CK804 Serial ATA Controller [10de:0054] in both BMDMA and ADMA mode. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit eca25dca17630ae354f4b1df559ed90578b794fe Author: Tejun Heo Date: Tue Apr 17 23:44:07 2007 +0900 libata: convert drivers with combined SATA/PATA ports to new init model Convert sata_via and sata_promise to new init model. Both controllers can have combined configuration (SATA + PATA) and used twisted initialization method (modifying port in ->port_start) to overcome probe_ent limitations. This patch converts both drivers to new init model in which such configuration is natively supported. * promise: Combined pata port now uses separate port_info entry right after the sata counterpart entry. * promise: Controller configuration is discerned using ap->flags. This simplifies init path and makes it look more like other LLDs. * via: Both SATA and PATA ports in vt6421 are represented in their own port_info structure. Tested on PDC20375 (SATA150 TX2plus) [105a:3375] and PDC40775 (SATA 300 TX2plus) [105a:3d73]. Couldn't test via cuz my c3 won't boot the current kernel. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 21b0ad4fb8306ac2bf5a249ffc978b1b8924c7d0 Author: Tejun Heo Date: Tue Apr 17 23:44:07 2007 +0900 libata: add init helpers including ata_pci_prepare_native_host() These will be used to convert LLDs to new init model. * Add irq_handler field to port_info. In new init model, requesting IRQ is LLD's responsibility and libata doesn't need to know about irq_handler. Most LLDs can simply register their irq_handler but some need different irq_handler depending on specific chip. The added port_info->irq_handler field can be used by LLDs to select the matching IRQ handler in such cases. * Add ata_dummy_port_info. * Implement ata_pci_prepare_native_host(), a helper to alloc ATA host, acquire all resources and init the host in one go. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d491b27b1959565671e2c05dff09b5f535a854ce Author: Tejun Heo Date: Tue Apr 17 23:44:07 2007 +0900 libata: convert native PCI host handling to new init model Convert native PCI host handling to alloc-init-register model. New function ata_pci_init_native_host() follows the new init model and replaces ata_pci_init_native_mode(). As there are remaining LLD users, the old function isn't removed yet. ata_pci_init_one() is reimplemented using the new function and now fully converted to new init model. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0f834de3ea61aacacf1fac59ba9e82680f83c846 Author: Tejun Heo Date: Tue Apr 17 23:44:07 2007 +0900 libata: convert legacy PCI host handling to new init model Convert legacy PCI host handling to alloc-init-register model. ata_init_legacy_host(), ata_request_legacy_irqs() and ata_pci_init_bmdma() are separated out and follow the new init model. The two legacy handling functions use separate ata_legacy_devres instead of generic devm_* resources. This reduces devres overhead for legacy hosts which was a bit high because it didn't use PCI/iomap merged resoruces. ata_pci_init_one() is rewritten in terms of the aboved functions but native mode handling is still using the old method. Conversion will be completed when native mode handling is updated. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f5cda257296fbd3683b1f568f2d94d3caaacf74d Author: Tejun Heo Date: Tue Apr 17 23:44:07 2007 +0900 libata: implement ata_host_alloc_pinfo() and ata_host_register() Implement ata_host_alloc_pinfo() and ata_host_register(). These helpers will be used in the following patches to adopt new init model. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f31871951b38daf2d7ca17daad59fdb735062da3 Author: Tejun Heo Date: Tue Apr 17 23:44:07 2007 +0900 libata: separate out ata_host_alloc() and ata_host_register() Reorganize ata_host_alloc() and its subroutines into the following three functions. * ata_host_alloc() : allocates host and its ports. shost is not registered automatically. * ata_scsi_add_hosts() : allocates and adds shosts associated with an ATA host. Used by ata_host_register(). * ata_host_register() : takes a fully initialized ata_host structure and registers it to libata layer and probes it. Only ata_host_alloc() and ata_host_register() are exported. ata_device_add() is rewritten using the above functions. This patch does not introduce any observable behavior change. Things worth mentioning. * print_id is assigned at registration time and LLDs are allowed to overallocate ports and reduce host->n_ports during initialization. ata_host_register() will throw away unused ports automatically. * All SCSI host initialization stuff now resides in ata_scsi_add_hosts() in libata-scsi.c, where it should be. * ipr is now the only user of ata_host_init(). Either kill it by converting ipr to use ata_host_alloc() and friends or rename and move it to libata-scsi.c Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ecef7253235e7a9365afe08a508e11bed91c1c11 Author: Tejun Heo Date: Tue Apr 17 23:44:06 2007 +0900 libata: separate out ata_host_start() Separate out ata_host_start() from ata_device_add(). ata_host_start() calls ->port_start on each port if available and freezes the port. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4911487a34baa89ec5b5f09a661761b73091fbec Author: Tejun Heo Date: Tue Apr 17 23:44:06 2007 +0900 libata: allocate ap separately from shost Don't embed ap inside shost. Allocate it separately and point it back from shosts's hostdata. This makes port allocation more flexible and allows regular ATA and SAS share host alloc/init paths. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit bf33554290bb6a6b2bd8827076f89fb17fb19e3d Author: Tejun Heo Date: Wed Apr 11 17:27:14 2007 +0900 ahci: add PCI ID for new VIA chip Add PCI ID for new VIA chip. Original patch is from Maarten Vanraes. Signed-off-by: Tejun Heo Cc: Maarten Vanraes Signed-off-by: Jeff Garzik commit 03ec52dea0f3c615b1b502672c189f296842f7dd Author: Tejun Heo Date: Thu Apr 12 13:38:11 2007 +0900 libata: kill type mismatch compile warning kill the following compile warning. drivers/ata/libata-core.c:1786: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c65ec1c25dc23123040efdc4ada46071431723e3 Author: Conke Hu Date: Wed Apr 11 18:23:14 2007 +0800 ahci.c: remove non-existing SB600 raid id (re-send) SB600 RAID and SB600 SATA is the same controller and share the same PCI ID 0x4380. There is no such PCI ID 0x4381. Signed-off-by: Conke Hu --------- Signed-off-by: Jeff Garzik commit a51d644af6eb0a93bc383e5f005faa445c87f335 Author: Tejun Heo Date: Tue Mar 20 15:24:11 2007 +0900 libata: improve AC_ERR_DEV handling for ->post_internal_cmd ->post_internal_cmd is simplified EH for internal commands. Its primary mission is to stop the controller such that no rogue memory access or other activities occur after the internal command is released. It may provide error diagnostics by setting qc->err_mask but this hasn't been a requirement. To ignore SETXFER failure for CFA devices, libata needs to know whether a command was failed by the device or for any other reason. ie. internal command needs to get AC_ERR_DEV right. This patch makes the following changes to AC_ERR_DEV handling and ->post_internal_cmd semantics to accomodate this need and simplify callback implementation. 1. As long as the correct bits in the result TF registers are set, there is no need to set AC_ERR_DEV explicitly. libata EH core takes care of that for both normal and internal commands. 2. The only requirement for ->post_internal_cmd() is to put the controller into quiescent state. It needs not to set any err_mask. 3. ata_exec_internal_sg() performs minimal error analysis such that AC_ERR_DEV is automatically set as long as result_tf is filled correctly. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 55a6adeea4077521b4bba1dfe674f5835157a00b Author: Tejun Heo Date: Fri Mar 9 19:43:35 2007 +0900 libata: fix native mode disabled port handling Disabled port handling in ata_pci_init_native_mode() is slightly broken in that it may end up using the wrong port_info. This patch updates it such that disables ports are made dummy as done in the legacy and other cases. While at it, fix indentation in ata_resources_present(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 17199b187b5d9a22f2ec835c9fdb38302501b918 Author: Tejun Heo Date: Sun Mar 18 22:26:53 2007 +0900 ahci: move port_map handling to ahci_save_initial_config() Move cross checking between port_map and cap.n_ports into ahci_save_initial_config(). After save_initial_config is done, hpriv->port_map is always setup properly. Tested on JMB363, ICH7 and ICH8 (with dummy ports). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d447df140d0f07a02bd221cb42eb0b61bce16042 Author: Tejun Heo Date: Sun Mar 18 22:15:33 2007 +0900 ahci: implement ata_save/restore_initial_config() There are several registers which describe how the controller is configured. These registers are sometimes implemented as r/w registers which are configured by firmware and get cleared on controller reset or after suspend/resume cycle. ahci saved and restored those values inside ahci_reset_controller() which is a bit messy and doesn't work over suspend/resume cycle. This patch implements ahci_save/restore_initial_config(). The save function is called during driver initialization and saves cap and port_map to hpriv. The restore function is called after the controller is reset to restore the initial values. Sometimes the initial firmware values are inconsistent and need to be fixed up. This is handled by ahci_save_initial_config(). For this, there are two versions of saved registers. One to write back to the hardware register, the other to use during driver operation. This is necessary to keep ahci's behavior unchanged (write back fixed up port_map while keeping cap as-is). This patch makes ahci save the register values once before the first controller reset, not after it's been reset. Also, the same stored values are used written back after each reset, so the register values are properly recovered after suspend/resume cycle. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ce2d3abc292c1eecd9ddc6f03391a0a46c6561dc Author: Mikael Pettersson Date: Sat Apr 7 14:29:51 2007 +0200 sata_promise: fix error decode regression Promise ATA ports should always be reset by pdc_reset_port() when errors are detected, but the recent error reason decoding update to sata_promise replaced that reset with a freeze. This patch changes the error detection to do a reset again. This makes the error decoding update safer, as it now only adds error decoding without changing any other behaviour. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 9bedb799f2d270dc6434473fcab745adc930a85b Author: Alan Cox Date: Wed Apr 11 00:19:00 2007 +0100 pata_pdc2027x: Updates Signed-off-by: Alan Cox Correct missing modefilter (crash if BAR4 unassigned) Use Cable Detect method Wrap ->set_mode instead ready for ->post_set_mode removal Maxtor errata as per Jeff Garzik report Remove duplicated private udma_mask hacking Signed-off-by: Jeff Garzik commit ad648c08835851b1b447b08144013e86aceafe5f Author: Alan Cox Date: Wed Apr 11 00:14:09 2007 +0100 pata_winbond Not a PCI device so doesn't need PCI includes Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit eb4a2c7f03db06dda0370591c958fa5a62ff2ec3 Author: Alan Cox Date: Wed Apr 11 00:04:20 2007 +0100 pata: cable methods Versus upstream as requested Last of the trivial switches to cable_detect methods. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 5a5dbd18a7496ed403f6f54bb20c955c65482fa5 Author: Mark Lord Date: Fri Mar 16 10:22:26 2007 -0400 libata: add support for READ/WRITE LONG The READ/WRITE LONG commands are theoretically obsolete, but the majority of drives in existance still implement them. The WRITE_LONG and WRITE_LONG_ONCE commands are of particular interest for fault injection testing -- eg. creating "media errors" at specific locations on a disk. The fussy bit is that these commands require a non-standard sector size, usually 520 bytes instead of 512. This patch adds support to libata for READ/WRITE LONG commands issued via SG_IO/ATA_16. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 1234010684bb9cde51125ec3d1c71054a9f24f47 Author: Robin H\. Johnson Date: Wed Mar 28 18:02:07 2007 -0700 Add notation that the Asus W5F laptop has a short cable instead of 80-wire. The Asus W5F laptop uses a short cable instead of the 80-wire style, and thus needs to be in the ich_laptop special cases for correct detection and support of UDMA/100 for the hard drive. I noticed this because I have the W5F laptop, and was tracing apparent slowness. Signed-off-by: Robin H. Johnson Signed-off-by: Jeff Garzik commit 5c25bf0d2893ae03287693b958e9ef12e4893e04 Author: Alan Cox Date: Mon Mar 26 21:43:43 2007 -0800 pata_optidma: rework for cable detect and to remove post_set_mode() A lot of noise because I had to rename the optidma_set_mode() method to avoid confusion with the new ->set_mode() method that was added. Cable detect side is pretty trivial. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2f5344b1be57e63b6a3bfa19e69c5cd84f031edb Author: Alan Cox Date: Mon Mar 26 21:43:42 2007 -0800 pata_winbond: restore cable method Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c45a6328742be39eee351a4ac7a5e60f7d048846 Author: Alan Cox Date: Mon Mar 26 21:43:41 2007 -0800 pata_sl82c105: restore cable detect method Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3b4ba5910b150c5db019642899d7b6ba9bec27b4 Author: Alan Cox Date: Mon Mar 26 21:43:40 2007 -0800 pata_netcell: re-remove all the crud Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3be40d7665e733c2b53bac38fcb148433718f555 Author: Alan Cox Date: Mon Mar 26 21:43:40 2007 -0800 pata_qdI: restore cable detect Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b723d1448cbefc9fd591798d229d1dafb358bc66 Author: Alan Cox Date: Mon Mar 26 21:43:37 2007 -0800 pata_ali: remove all the crap again and switch to cable_detect method Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f2fb344beadf79f9d265c3fc60e8399bbf917a4d Author: Robert Hancock Date: Mon Mar 26 21:43:36 2007 -0800 sata_nv: don't read shadow registers when in ADMA mode Reading from the ATA shadow registers while we are in ADMA mode may cause undefined behavior. Don't read the ATA status register when completing commands for this reason, it shouldn't be needed as the controller will notify us if the command failed. Also, don't allow commands with result taskfile requested to execute in ADMA mode, since that requires accessing the shadow registers. We also still need to override tf_read since libata will read the result taskfile on a command failure, and we need to go into port register mode before allowing this. Signed-off-by: Robert Hancock Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4dc5200d70a3e81510956c35fbb9fa3c15b440a5 Author: Alan Date: Mon Mar 26 21:43:34 2007 -0800 pcmcia - spot slave decode flaws (for testing) It tries to spot when the slave is a mirror of the master and to fix up problems that causes. I've got two confirmations so far that this plus the "can fail set_xfer" patch work for folks who had problems before. Also if you are unfortunate enough to be running something like HAL then it'll automount the same disk twice for you and corrupt it without the fix (aint that nice...) Tested (successfully) by Komuro . Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 120bda35ff8514c937dac6d4e5c7dc6c01c699ac Author: Andrew Morton Date: Mon Mar 26 02:17:43 2007 -0700 git-libata-all-ipr-fix drivers/scsi/ipr.c: In function '__ipr_eh_dev_reset': drivers/scsi/ipr.c:3865: warning: passing argument 4 of 'ata_do_eh' from incompatible pointer type Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 771b8dad9653d2659e0ffcc237184cb16c317788 Author: Tejun Heo Date: Wed Mar 14 01:20:51 2007 +0900 libata: hardreset on SERR_INTERNAL There was a rare report where SB600 reported SERR_INTERNAL and SRST couldn't get it out of the failure mode. Hardreset on SERR_INTERNAL. As the problem is intermittent, whether this fixes the problem or not hasn't been verified yet, but hardresetting the channel on internal error is a good idea anyway. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 176efb054422bffe6b5a34194ffad134366c7f7e Author: Mikael Pettersson Date: Wed Mar 14 09:51:35 2007 +0100 sata_promise: decode and report error reasons This patch adds much needed error reason decoding and reporting to sata_promise. It's simplistic but should log all relevant error info the controller provides. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 724114a5738131997af9272f3c716dbe457c1690 Author: Mikael Pettersson Date: Sun Mar 11 21:20:43 2007 +0100 sata_promise: separate SATA and PATA ops This patch changes sata_promise so that the PATA ports on TX2plus chips are bound to the pdc_pata_ops structure. This means that operations called from the SATA ops structures don't need any SATA-vs-PATA tests any more. Instead, operations that depend on a port being SATA or PATA are separated into different procedures. * pdc_cable_type() is split into a PATA version and a SATA version * pdc_error_handler() is split into a PATA version and a SATA version, that both call a common version after setting up the `hardreset' function pointer * pdc_old_check_atapi_dma() is now only used for SATAI ports, so is renamed to pdc_old_sata_check_atapi_dma() and simplified * pdc_sata_scr_{read,write}() are now only used for SATA ports, so their is-not-SATA tests are removed * pdc_port_start() is split into three procedures: a wrapper which performs the ->ops adjustment on TX2plus PATA ports, a procedure with the common code, and a procedure with the SATA-specific code (this bit might be cleaned up by Tejun's new init model) Tested on 20619, 20575, and 20775 chips. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 799331fda03f969b781553b786f38b83ec3bb608 Author: Mikael Pettersson Date: Sun Mar 11 21:19:27 2007 +0100 sata_promise: add missing cable_detect hooks The recent change which moved cable detection from pdc_pre_reset() to the new ->cable_detect hook only added the hook for SATAII chips, leaving SATAI chips and the 20619 without the hook. Fixed by this patch. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 8cdfb29c0cd8018f92214c11c631d8926f4cb032 Author: Jeff Garzik Date: Fri Mar 9 10:54:42 2007 -0500 libata/IDE: remove combined mode quirk Both old-IDE and libata should be able handle all controllers and devices found using normal resource reservation methods. This eliminates the awful, low-performing split-driver configuration where old-IDE drove the PATA portion of a PCI device, in PIO-only mode, and libata drove the SATA portion of the /same/ PCI device, in DMA mode. Typically vendors would ship SATA hard drive / PATA optical configuration, which would lend itself to slow (PIO-only) CD-ROM performance. For Intel users running in combined mode, it is now wholly dependent on your driver choice (potentially link order, if you compile both drivers in) whether old-IDE or libata will drive your hardware. In either case, you will get full performance from both SATA and PATA ports now, without having to pass a kernel command line parameter. Signed-off-by: Jeff Garzik commit e424675f152572d8d2365e351b90bfd81686a150 Author: Jeff Garzik Date: Fri Mar 9 09:56:46 2007 -0500 [libata] turn on !IORDY filter The previous commit erroneously noted that the !IORDY filter was turned on. No true, that change was split out into this commit. Originally authored and signed-off-by Alan Cox. Signed-off-by: Jeff Garzik commit cffacd85bcf6fc652292001873119333555fe260 Author: Jeff Garzik Date: Fri Mar 9 09:46:47 2007 -0500 [libata] sata_mv: support ->cable_detect Signed-off-by: Jeff Garzik commit a76b62ca70662cd0ca98edf366c6637009a95f7d Author: Alan Cox Date: Fri Mar 9 09:34:07 2007 -0500 libata: Change prototype of mode_filter to remove ata_port* With Tejun having added adev->ap some time ago we can get rid of the almost unused port being passed to mode filters. And while we are doing filters, lets turn on the !IORDY filter as well. Signed-off-by: Alan Cox With some hand massaging from Signed-off-by: Jeff Garzik commit 9d2c7c75f889a3eefad016c71f651b0796e0a6e9 Author: Alan Cox Date: Thu Mar 8 23:09:12 2007 +0000 sata_sil: First step to removing ->post_set_mode Now that we have ata_do_set_mode() available for drivers to use we don't actually need ->post_set_mode() as the driver can wrap set_mode nicely and do stuff before or after (eg PCMCIA needs before), so we can kill off a method in all the structs While I was at it I added kernel-doc to the function involved. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 432729f0b0c299ae9731aaa31beaa0dd3a9751eb Author: Alan Cox Date: Thu Mar 8 23:22:59 2007 +0000 libata-core: Fix the iordy methods This alone isn't sufficient to save the universe from prehistoric disks and controllers but it is a first important step. Split off a separate function to provide a mode filter when controller iordy is not available. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 04351821b43e6c0c91ad50d7e4be54a935f749e1 Author: Alan Date: Tue Mar 6 02:37:52 2007 -0800 pata: expose set_mode method so it can be wrapped This splits set_mode into do_set_mode and the wrapper so that a driver can call the standard method inside its own. This in theory also obsoletes ->post_set_mode(). Signed-off-by: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fcc2f69a6fad1543b466db9c35aa5a2f364eb3d4 Author: Alan Cox Date: Thu Mar 8 23:28:52 2007 +0000 pata_hpt37x: Updates from drivers/ide work Drag pata_hpt37x kicking and screaming in the direction of drivers/ide/pci/hpt366.c and all the work that Sergei has been doing there. Plenty left to be done but this is a good snapshot for folks to work on and to review Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit ec04b075843d12b5115267415d0426b48e672136 Author: Tejun Heo Date: Fri Mar 9 19:45:58 2007 +0900 iomap: implement pcim_iounmap_regions() Implement pcim_iounmap_regions() - the opposite of pcim_iomap_regions(). Signed-off-by: Tejun heo Signed-off-by: Jeff Garzik commit a73984a0d5664fa1bfdd9f0a475b8d74af7f44a6 Author: Jeff Garzik Date: Fri Mar 9 08:37:46 2007 -0500 [libata] More PATA driver ->cable_detect support Roll-up of ->cable_detect feature addition patches, authored and signed-off-by Alan Cox. Signed-off-by: Jeff Garzik commit fecfda5d88dcc3775f72d6f3a55d11b77c67f878 Author: Alan Cox Date: Thu Mar 8 19:34:28 2007 +0000 pata_hpt366: support ->cable_detect Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 6bfed3fb035b4eff59160c2da5e3fbb69d6b0531 Author: Alan Cox Date: Thu Mar 8 19:33:29 2007 +0000 pata_efar: support ->cable_detect Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 847086069cdb5eac14f70cd0aea8545d499c80b4 Author: Alan Cox Date: Thu Mar 8 19:27:31 2007 +0000 pata_atiixp: support ->cable_detect Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d36a76482c19c186aa638446def39ec643993955 Author: Alan Cox Date: Thu Mar 8 22:56:07 2007 +0000 pata_radisys: support cable_detect Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 745975c052cc8e808860c8634a2efdcc2da6dd01 Author: Alan Cox Date: Thu Mar 8 22:58:03 2007 +0000 pata_sc1200: restore cable type Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2a25dfe4f43b2199376424dce67ed11e3e276467 Author: Alan Cox Date: Thu Mar 8 22:57:03 2007 +0000 pata_rz1000: support cable_detect Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 570cb62deef574db10bcf1b4e9a8a0cbf7b101ee Author: Alan Cox Date: Thu Mar 8 22:54:04 2007 +0000 pata_platform: Add cable_detect method Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit e2a9752a21df4407a2094fb3345878d18a6c6d68 Author: Alan Cox Date: Thu Mar 8 23:06:47 2007 +0000 sata_promise: Switch to cable method, clean up some bits as a result Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2e41e8e67af4cb0917793922fc8f55d3eeb6fa43 Author: Alan Cox Date: Thu Mar 8 23:19:19 2007 +0000 libata-core: fix comments on cable type Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 942d09470c3fb3254905c75f0cc9cd2d0dff24dd Author: Alan Cox Date: Thu Mar 8 23:24:49 2007 +0000 libata: Restore Kconfig updated experimental levels and correct Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 7938a72db4d82f3caf3ae22aafa1ea18793a3149 Author: Alan Cox Date: Wed Mar 7 16:43:29 2007 +0000 pata_cmd640: Multiple updates Fix suspend/resume support Write 0x5B to 0 not 0x5C The former is important as we must kill the FIFO on a resume Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 97cb81c335565f3ce27cd26d71480dff0211797a Author: Alan Cox Date: Wed Mar 7 16:56:54 2007 +0000 pata_via: Use cable_detect method We end up shifting a few bits of logic around in this driver but the basic change is the same. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2e413f510f1b77846e0e7728b991849e697d7f8b Author: Alan Cox Date: Wed Mar 7 16:54:24 2007 +0000 pata_sis: Clean up using cable_detect methods This changeset revolves around the fact that all the SiS controllers have the same enable bits, but differing cable detection methods. Previously that meant each type had its own error_handler methods. Instead we can now implement different ->cable_detect methods and share a single error_handler which does the filtering by enable bits. In addition we had some auto const arrays that should be static const. I'm not sure if gcc already treats them intelligently but adding the static will make sure. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 307c6054ad67428ad4e2bd4e5faae54fc4f8bcd2 Author: Alan Cox Date: Wed Mar 7 16:48:09 2007 +0000 pata_marvell: Cable and reset fixes There are two changes here. Firstly we switch to a cable detect method, secondly the old code forgot to call ata_std_prereset() but somehow managed to work anyway. Fix the missing call. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 5816fbbf22470b687964462e6c1f18165b291f22 Author: Alan Cox Date: Wed Mar 7 16:46:20 2007 +0000 pata_it8213: Cable detect Another not-quite PIIX, another cable type conversion Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a0fcdc0259e98d1c16d96baea9ba8a8603e41791 Author: Jeff Garzik Date: Fri Mar 9 07:24:15 2007 -0500 [libata] Update several PATA drivers for new ->cable_detect hook All patches authored and signed-off-by Alan Cox, sent on Mar 7, 2007. I merely combined them all into a single patch. Signed-off-by: Jeff Garzik commit 6a3d586d8e8a50e4cfd7f8c36d82a53c5614e05b Author: Morrison, Tom Date: Tue Mar 6 02:38:10 2007 -0800 Support for Marvell 7042 Chip Added Support for Marvell 7042 Chip - 7042 has same capabilities & behavior as 6042. Signed-off-by: Thomas A. Morrison Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b2248dac07cf057e4af3ec970e7d36a09f44fac8 Author: Alan Cox Date: Tue Mar 6 02:38:11 2007 -0800 pata_cmd640: CMD640 PCI support Support for the PCI CMD640 (not VLB) Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit be0d18dff5fae83845801929f297977c10ab99ad Author: Alan Cox Date: Tue Mar 6 02:37:56 2007 -0800 libata: cable detection fixes 2.6.21-rc has horrible problems with libata and PATA cable types (and thus speeds). This occurs because Tejun fixed a pile of other bugs and we now do cable detect enforcement for drive side detection properly. Unfortunately we don't do the process around cable detection right. Tejun identified the problem and pointed to the right Annex in the spec, this patch implements the rest of the needed changes. We add a ->cable_detect() method called after the identify sequence which allows a host to do host side detection at this point should it wish, or to modify the results of the drive side identify. This separate ->cable_detect method also cleans up a lot of code because many drivers have their own error_handler methods which really just set the cable type. If there is no ->cable_detect method the cable type is left alone so a driver setting it earlier (eg because it has the SATA flags set or because it uses the old error_handler approach) will still do the right thing (or at least the same thing) as before. This patch simply adds the cable_detect method and helpers it doesn't use them but other follow up patches will (ie Adrian please don't submit patches to unexport them ;)) Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 5aea408df5ae459cb29b91d45fa0f8bc1bee924e Author: Dmitriy Monakhov Date: Tue Mar 6 02:37:54 2007 -0800 libata: handle ata_pci_device_do_resume() failure while resuming Since commit:553c4aa630af7bc885e056d0436e4eb7f238579b ata_pci_device_do_resume() can return error code, all callers was updated except this one. Signed-off-by: Monakhov Dmitriy Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 8343f88999bfcf4c4169e964c8a5c040f40c5a77 Author: Robert Hancock Date: Tue Mar 6 02:37:51 2007 -0800 libata: warn if speed limited due to 40-wire cable Warn the user if a drive's transfer rate is limited because of a 40-wire cable detection. Signed-off-by: Robert Hancock Cc: Jeff Garzik Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f0ef88ed413232daebfe675c7b1bbf100d604d4b Author: Mark Lord Date: Fri Feb 2 12:36:25 2007 -0500 RESEND: libata: check cdb len per dev instead of per host Resending, with s/printk/DPRINTK/ as pointed out by Alan. Fix libata to perform CDB len validation per device rather than per host. This way, validation still works when we have a mix of 12-byte and 16-byte devices on a common host interface. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit cd0d3bbcdd650651b7ccfaf55d107e3fc237d95a Author: Alan Date: Fri Mar 2 00:56:15 2007 +0000 libata: dev_config does not need ap and adev passing It used to be impossible to get from ata_device to ata_port but that is no longer true. Various methods have been cleaned up over time but dev_config still takes both and most users don't need both anyway. Tidy this one up Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d88184fb2348a50f7c34f5d49a901c875b2e0114 Author: Jeff Garzik Date: Mon Feb 26 01:26:06 2007 -0500 [libata] sata_mv: clean up DMA boundary issues, turn on 64-bit DMA The chips covered by sata_mv have a 32-bit DMA boundary they must not cross, not a 64K boundary. We are merely limited to a 64K maximum segment size. Therefore, the DMA scatter/gather table fill code can be greatly simplified, and we need not cut in half the S/G table size as reported to the SCSI layer. Also, the driver forget to turn on 64-bit DMA at the PCI layer. All other data structures (both hardware and software) have been prepped for 64-bit PCI DMA. It was simply never turned on. let's see if it still works... Signed-off-by: Jeff Garzik commit 43727fbc753c63f9d2764c56467303698cc52c14 Author: Jeff Garzik Date: Sun Feb 25 16:50:52 2007 -0500 [libata] export sata_print_link_status() To be used in sata_mv's exception handling code, and overall is a generally useful function. Signed-off-by: Jeff Garzik commit 351772658a4d1acc0221a6e30676bb0594e74812 Author: Jeff Garzik Date: Sat Feb 24 21:26:42 2007 -0500 [libata] sata_mv: remove extra braces Signed-off-by: Jeff Garzik commit 56fca7cc337752e3d31e107db050f7fff2402e7d Author: Ben Dooks Date: Thu Apr 26 12:11:24 2007 +0100 [ARM] 4330/1: S3C24XX: add S3C2410_UDC_FUNCADDR_UPDATE Add definition for S3C2410_UDC_FUNCADDR_UDPATE register definition for UDC driver. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b4cf205846463a0a23a917bb18ad833bc9a8c0bb Author: Vitaly Wool Date: Fri Apr 27 14:42:09 2007 +0400 smc911x: fix compilation breakage wjen debug is on the patch below fixes compilation breakage of smc911x driver when ENABLE_SMC_DEBUG_PKTS equals to 1. Signed-off-by: Vitaly Wool Signed-off-by: Jeff Garzik commit 1c0d6dcf885badc72f72bfba9bc5b4f1469b8501 Author: Shani Moideen Date: Sat Apr 28 11:05:43 2007 -0400 [netdrvr] eexpress: minor corrections A few corrections related to time_after and time_before in drivers/net/eexpress.c as suggested by Marcin slusarz. Signed-off-by: Shani Moideen Signed-off-by: Jeff Garzik commit 693aa9470d8273a0ded8b211a8f5f7c0835adf30 Author: Mark Mason Date: Thu Apr 26 00:23:22 2007 -0700 add NAPI support to sb1250-mac.c Patch to add NAPI support to sb1250-mac.c (rev 2). This patch differs from the last in that the NAPI support isn't marked as experimental, nor is it configurable (ie. once applied - NAPI is enabled all the time). This was based on feedback from Ralf and others. Signed-off-by: Mark Mason Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 55e924cf5772cbcf00549e448be35b392ff3084c Author: Milind Arun Choudhary Date: Fri Apr 27 13:55:31 2007 -0700 ixgb: ROUND_UP macro cleanup in drivers/net/ixgb IXGB_ROUNDUP macro cleanup ,use ALIGN Signed-off-by: Milind Arun Choudhary Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 9099cfb9170f352f08207dfa099717a904cff71f Author: Milind Arun Choudhary Date: Fri Apr 27 13:55:29 2007 -0700 e1000: ROUND_UP macro cleanup in drivers/net/e1000 E1000_ROUNDUP macro cleanup, use ALIGN Signed-off-by: Milind Arun Choudhary Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit abf17ffda7b7b6c83a29d7ccea91d46065c6ca3e Author: Krzysztof Halasa Date: Fri Apr 27 13:13:33 2007 +0200 Generic HDLC sparse annotations Sparse annotations, including two minor bugfixes. Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 27345bb684140f5f306963e0d6e25a60c7857dfe Author: Jesse Brandeburg Date: Thu Apr 26 09:43:20 2007 -0700 e100: Optionally use I/O mode only to access register space It appears that some systems still like e100 better if it uses I/O access mode. Setting the new parameter use_io=1 will cause all driver instances to use io mapping to access the register space on the e100 device. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 948cd43fed7c7d919fa30e0609b2b5852c4503ef Author: Jesse Brandeburg Date: Thu Apr 26 09:43:11 2007 -0700 e100: allow bad MAC address when running with invalid eeprom csum Seved Torstendahl suggested to let the module parameter for invalid eeprom checksum control the valid mac address test. If this bypass happens we should print a different message, or at least one that is correct, maybe something like below Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 1211bb6dcd935c48e864d4eecbf8a684e982419a Author: Thomas Klein Date: Thu Apr 26 11:56:43 2007 +0200 ehea: fix for dlpar support Certain resources may only be allocated when first logical port is available, and must be removed when last logical port has been removed. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit d1dea38d54311f6b3dd37ce485e794bd133e3593 Author: Thomas Klein Date: Thu Apr 26 11:56:13 2007 +0200 ehea: fix for sysfs entries Create symbolic link from each logical port to ehea driver Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 3b0dc5c1cfcdff806fe860a28d62fbf70af112e9 Author: Robert P. J. Day Date: Thu Apr 26 00:23:25 2007 -0700 3C509: Remove unnecessary include of Remove the apparently redundant include of . Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 78403a929a176813d7911bebccad303a1fdfe281 Author: Mithlesh Thukral Date: Fri Apr 20 07:57:26 2007 -0700 NetXen: Fix for vmalloc issues NetXen: Fix vmalloc errors on seen on some X86 high end machines. Signed-off by: Milan Bag Acked-by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit 6d1495f29a59aad464024693a413a945e274c1ed Author: Mithlesh Thukral Date: Fri Apr 20 07:56:42 2007 -0700 NetXen: Fixes for Power PC architecture NetXen: Fix PPC architecture specific bugs Fixes some issues seen on Big endian machines. Signed-off by: Milan Bag Signed-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit 6c80b18df3537d1221ab34555c150bccbfd90260 Author: Mithlesh Thukral Date: Fri Apr 20 07:55:26 2007 -0700 NetXen: Port swap feature for multi port cards NetXen: Port Swap feature This patch will allow a port numbers on the card to be swapped in host driver. This feature is applicable to cards having more than 1 port. Signed-off by: Milan Bag Signed-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit 5d512f5594f9f4829b099c87f7bc6f683ef146ca Author: Mithlesh Thukral Date: Fri Apr 20 07:54:28 2007 -0700 NetXen: Removal of redundant macros NetXen: Remove 2 redundant macro definitions from header file. Signed-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit 595e3fb8cf0c3c1c6d63dc3d7fd166e50bf150ff Author: Mithlesh Thukral Date: Fri Apr 20 07:53:52 2007 -0700 NetXen: Multi PCI support for Quad cards NetXen: Fix the multi PCI function for cards with more than 2 ports. This patch fixes the working of multi PCI capable driver on cards with more than 2 ports by adding the addresses for their rings and sizes. Signed-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit 13ba9c7714cfa40821d29090442de14d01d6eb33 Author: Mithlesh Thukral Date: Fri Apr 20 07:53:05 2007 -0700 NetXen: Removal of redundant argument passing NetXen: Removal of redundant function call parameters and bug fixes. This patch will remove the redundant paramters which were being passed to many functions since now adapter->portnum can be used. Signed-off-by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit 3176ff3ee71bddbd1d68e6a9e28dbcf0a2960c95 Author: Mithlesh Thukral Date: Fri Apr 20 07:52:37 2007 -0700 NetXen: Use multiple PCI functions NetXen: Make driver use multiple PCI functions. This patch will make NetXen driver work with multiple PCI functions. This will make the usage of memory resources as well as interrupts more independent among different functions which results in better throughput. This change has been done after the multiport support is added in firmware. Signed-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit d52df4a35af569071fda3f4eb08e47cc7023f094 Author: Scott Feldman Date: Wed Nov 9 02:18:52 2005 -0500 [netdrvr e100] experiment with doing RX in a similar manner to eepro100 I was going to say that eepro100's speedo_rx_link() does the same DMA abuse as e100, but then I noticed one little detail: eepro100 sets both EL (end of list) and S (suspend) bits in the RFD as it chains it to the RFD list. e100 was only setting the EL bit. Hmmm, that's interesting. That means that if HW reads a RFD with the S-bit set, it'll process that RFD and then suspend the receive unit. The receive unit will resume when SW clears the S-bit. There is no need for SW to restart the receive unit. Which means a lot of the receive unit state tracking code in the driver goes away. So here's a patch against 2.6.14. (Sorry for inlining it; the mailer I'm using now will mess with the word wrap). I can't test this on XScale (unless someone has an e100 module for Gumstix :) . It should be doing exactly what eepro100 does with RFDs. I don't believe this change will introduce a performance hit because the S-bit and EL-bit go hand-in-hand meaning if we're going to suspend because of the S- bit, we're on the last resource anyway, so we'll have to wait for SW to replenish. (cherry picked from 29e79da9495261119e3b2e4e7c72507348e75976 commit) commit 2933d42cb7b0f14e0f83f6f231c966e97c79cdc9 Author: Larry Finger Date: Tue Apr 17 10:28:47 2007 -0500 [PATCH] ieee80211: add missing global needed by IEEE80211_DEBUG_XXXX Using any of the IEEE80211_DEBUG_XXXX macros in any ieee80211_crypt routine built as a module results in a missing global for 'ieee80211_debug_level'. The fix is to export the symbol in ieee80211. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 32684ec61678c61c6ceebfb29901b7723410ed83 Author: Randy Dunlap Date: Fri Apr 6 11:08:24 2007 -0700 mii: add kernel-doc notation Add kernel-doc notation to drivers/net/mii.c functions. Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 493a684ab8af36173e54ee9a102ed1768991f78a Author: Michael Ellerman Date: Tue Apr 17 13:12:55 2007 +1000 Fix sparse errors in drivers/net/ibmveth.c drivers/net/ibmveth.c:96:46: error: marked inline, but without a definition drivers/net/ibmveth.c:96: warning: 'ibmveth_rxq_harvest_buffer' declared inline after being called drivers/net/ibmveth.c:96: warning: previous declaration of 'ibmveth_rxq_harvest_buffer' was here Just let the compiler decide, as it happens gcc 4.~ inlines it anyway. drivers/net/ibmveth.c:957:71: warning: Using plain integer as NULL pointer drivers/net/ibmveth.c:964:85: warning: Using plain integer as NULL pointer Split the long lines as well, ugly, but < 80 columns. Signed-off-by: Michael Ellerman Signed-off-by: Jeff Garzik commit c2bcf00b437805b3c13374a4c4c8b6af646bdc2f Author: Kim Phillips Date: Fri Apr 13 01:26:36 2007 -0500 ucc_geth: version 1.1 Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 3a8205ead4dc4b05fbc164eeb852b8f8921d11d3 Author: Nicu Ioan Petru Date: Fri Apr 13 01:26:29 2007 -0500 ucc_geth: fixes for ucc_geth_memclean The ucc_geth_memclean function can be called before the Tx BD rings, Rx BD rings and associated socket buffers are allocated (for example if ucc_fast_init fails). The current code doesn't check if p_tx_bd_ring[i] is null, generating a kernel panic when trying to free the associated socket buffers. The function can also fail when accessing the uninitialized list_head structures ugeth->group_hash_q and ugeth->ind_hash_q. In the current implementation the list heads are initialized only when maxGroupAddrInHash and maxIndAddrInHash are positive values, although I think it's better to always initialize them. Signed-off-by: Ionut Nicu Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit d5b9049df25f38b3eaf3af48d494b0747aae4349 Author: Michael Reiss Date: Fri Apr 13 01:26:19 2007 -0500 ucc_geth: Implement Transmit on Demand support Transmit on Demand: Fix spelling in config option, and make it actually enable TOD. Signed-off-by: Michael Reiss Signed-off-by: Michael Barkowski Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 7563907eb8aad8f15b6a39fa6d863c091d83ef48 Author: Michael Barkowski Date: Fri Apr 13 01:26:15 2007 -0500 ucc_geth: Fix interrupt coalescing size and alignment The rx interrupt coalescing table alignment was "guessed" to be 4, but should be 64. The size should be 8 * number of queues + 4. Verified in the MPC8323E manual. Signed-off-by: Michael Barkowski Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 702ff12ce7e9643084232a8d50b0b1eec26026ae Author: Michael Reiss Date: Fri Apr 13 01:26:11 2007 -0500 ucc_geth: NAPI-related bug fixes Based partly on the gianfar driver, this patch fixes several bugs which were causing NAPI to be completely unusable. * An IRQ is still needed in NAPI, to kick off NAPI task, and for Tx processing. Request the IRQ. * If rx_work_limit = 0 we are not complete. * While running Rx NAPI processing we must mask Rx events, including Rx busy. * ucc_geth_rx function does not need a lock. Could lead to deadlock in NAPI case. * There's no need to loop reading ucce multiple times in the ISR, so while adding the call to schedule NAPI which was not there, simplify the event processing into if-else format. * Rx Busy now kicks off NAPI processing, while still being counted as an error. Signed-off-by: Michael Reiss Signed-off-by: Michael Barkowski Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 728de4c927a3544b6d3da331b634035d4c75ca17 Author: Kim Phillips Date: Fri Apr 13 01:26:03 2007 -0500 ucc_geth: migrate ucc_geth to phylib migrate ucc_geth to use the common phylib code. There are several side effects from doing this: o deprecate 'interface' property specification present in some old device tree source files in favour of a split 'max-speed' and 'interface-type' description to appropriately match definitions in include/linux/phy.h. Note that 'interface' property is still honoured if max-speed or interface-type are not present (backward compatible). o compile-time CONFIG_UGETH_HAS_GIGA is eliminated in favour of probe time speed derivation logic. o adjust_link streamlined to only operate on maccfg2 and upsmr.r10m, instead of reapplying static initial values related to the interface-type. o Addition of UEC MDIO of_platform driver requires platform code add 'mdio' type to id list prior to calling of_platform_bus_probe (separate patch). o ucc_struct_init introduced to reduce ucc_geth_startup complexity. Signed-off-by: Li Yang Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit a999589ccaae16472531e0616f23826ad097aa40 Author: Kim Phillips Date: Fri Apr 13 01:25:57 2007 -0500 phylib: add RGMII-ID interface mode definition The RGMII spec allows compliance for devices that implement an internal delay on TXC or RXC inside the transmitter. This patch adds an RGMII_ID definition to support RGMII-ID devices in the phylib. Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit aeb998c124786e8c7fbd6eab347230469e911872 Author: Larry Finger Date: Mon Apr 9 11:24:41 2007 -0500 [PATCH] ieee80211-crypt: Make some TKIP and CCMP error logging conditional There are messages arising from ieee80211_crypt that spam the logs of casual users. These are changed to be logged only if the user specifically requests the IEEE80211_DEBUG_DROP messages. In either case, the error/drop count is incremented. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 5d082fe85bf77f11aebb98d3bd29d66284d46851 Author: Daniel Drake Date: Sat Apr 7 16:00:43 2007 +0100 [PATCH] zd1211rw: Add ID for ZyXEL AG-220 Tested by Christoph Sager and Tomas Klas zd1211b chip 0586:3412 v4810 high 00-13-49 AL7230B_RF pa0 g---- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ba528c4587005a004d136ed2e69705401ee4b878 Author: Daniel Drake Date: Sat Apr 7 16:00:30 2007 +0100 [PATCH] zd1211rw: Add AL7230B RF support for ZD1211B This patch adds support for some new ZD1211B devices which ship with the AL7230B RF. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 72018b223dcacb631f140d4c8fada3790bd1b03c Author: Daniel Drake Date: Sat Apr 7 16:00:15 2007 +0100 [PATCH] zd1211rw: rework band edge patching This change allows RF drivers to provide their own 6M band edge patching implementation, while providing a generic implementation shared by most currently supported RF's. The upcoming ZD1211B/AL7230B code will use this to define its own patching function, which is different from the other RF configurations. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit dc536a706951e23d3c81d0aa81414dc9f2c34ce5 Author: Daniel Drake Date: Tue Apr 3 23:17:10 2007 +0100 [PATCH] zd1211rw: Remove invalid CR write during ZD1211 phy reset The vendor driver only does the CR123 write for non-USB devices (which don't exist on the consumer market) Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 25ac6c2627acd68bd50307e61a3b581b2f82552e Author: Marcin Juszkiewicz Date: Fri Mar 30 15:34:14 2007 +0200 [PATCH] hostap_cs: support ADLINK 345 CF Add ADLINK 345 CF card into hostap_cs product info: "ADLINK 345 CF" manfid 0xd601, 0x0005 Signed-off-by: Marcin Juszkiewicz Signed-off-by: John W. Linville commit 6693228da9cc8cd6a8ede97989cf2e46b99d6934 Author: Pavel Roskin Date: Wed Mar 28 17:08:51 2007 -0400 [PATCH] Remove comment about IEEE80211_RADIOTAP_FCS IEEE80211_RADIOTAP_FCS is obsolete and should not be used. It's no longer defined. Remove it from the comment too. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 3a5c393e6f3e9f537e790016f3214447f2b50e51 Author: Larry Finger Date: Wed Mar 28 11:07:49 2007 -0500 [PATCH] bcm43xx: Change initialization for 2050 radios This patch implements the changes in the specifications for 2050radio_init that were recently posted. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit b1fc1fa9b36512e928df95aead1a85381380ad1f Author: Adrian Bunk Date: Sat Mar 31 22:55:40 2007 +0200 make drivers/net/qla3xxx.c:PHY_DEVICES[] static On Fri, Mar 30, 2007 at 01:05:59AM -0700, Andrew Morton wrote: >... > Changes since 2.6.21-rc5-mm2: >... > git-netdev-all.patch >... > git trees >... This patch makes the needlessly global PHY_DEVICES[] static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 3ef34b807d35f81ee686e90e28084ee572a66e01 Author: Ramkrishna Vepa Date: Fri Mar 30 18:42:27 2007 -0700 S2io: Change of driver maintainers - Changed the maintainers for the S2io driver. Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit d7ef45b04905468b08e36b43dbce5b1de496e682 Author: Shani Date: Wed Mar 28 10:44:31 2007 +0530 Patch:replace with time_after in drivers/net/eexpress.c Replacing with time_after in drivers/net/eexpress.c Applies and compiles clean on latest tree.Not tested. Signed-off-by: Shani Moideen Signed-off-by: Jeff Garzik commit acbddb591ba76bb20204fd6a407cb87d3f5f751e Author: Jan-Bernd Themann Date: Fri Mar 23 17:18:53 2007 +0100 ehea: removing unused functionality This patch includes: - removal of unused fields in structs - ethtool statistics cleanup - removes unsed functionality from send path Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 144213d71ce8b2a1e0740dd25808143e9ace655a Author: Gabriel Paubert Date: Fri Mar 23 12:07:26 2007 -0700 mv643xx_eth: make eth_port_uc_addr_{get,set}() calls symmetric There is no good reason for the asymmetry in the parameters of eth_port_uc_addr_get() and eth_port_uc_addr_set(). Make them symmetric. Remove some gratuitous block comments while we're here. Signed-off-by: Gabriel Paubert Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit 201f27e625cb2fe150e92d81d9725fe28c279792 Author: Ron Mercer Date: Mon Mar 26 13:43:03 2007 -0700 qla3xxx: Bumping driver version number to v2.03.00-k4 Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 3efedf2e5b814f3edd99e4f4ca47a604871ebe0e Author: Ron Mercer Date: Mon Mar 26 12:43:52 2007 -0700 qla3xxx: Adding support for the Agere PHY (ET1011C) This PHY support patch was written by Benjamin Li. Signed-off-by: Benjamin Li Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit ec8263839aa8bc6eeee608a045e8f51738d7e436 Author: Ron Mercer Date: Mon Mar 26 13:43:01 2007 -0700 qla3xxx: Add ethtool get_pauseparam for improved bonding support. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit f930e46a85a61895ef5c7c56c66c28272bec1ae1 Author: Robert P. J. Day Date: Mon Mar 26 21:47:24 2007 -0800 remove unused header file: drivers/net/skfp/h/lnkstat.h Signed-off-by: Robert P. J. Day Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 939456ac51dd0b6b2b5653823b5655a790e72769 Author: Folkert van Heusden Date: Mon Mar 26 21:47:23 2007 -0800 baycom_ser_fdx: also allow i/o ports >= 0x1000 and enhanced failure logging The baycom_ser_fdx driver did not allow i/o ports >= 0x1000. Now that there are pci cards (with rs232 ports) which use for example 0xb800 this limit should not exists. Also, for non kernel coders find the cause of problems was challenging so I added extra logging. Signed-off-by: Folkert van Heusden Cc: Jeff Garzik Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4eccccb36223be5271b550a9ba4722a1e72c9312 Author: Jean Delvare Date: Mon Mar 26 21:47:22 2007 -0800 strlcpy is smart enough strlcpy already accounts for the trailing zero in its length computation, so there is no need to substract one to the buffer size. Signed-off-by: Jean Delvare Cc: Jan-Bernd Themann Cc: Thomas Klein Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a3fa3aba7a0e00aa1cbb13c9e9bed162fa057973 Author: Daniel Drake Date: Mon Mar 26 01:00:12 2007 +0100 [PATCH] zd1211rw: Add another ID for Linksys WUSBF54G Tested by TiCPU on irc zd1211 chip 13b1:001e v4802 high 00-14-bf AL2230_RF pa0 g--- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 44713b1da5a78d722dc0c03a87dc9ddf46668f80 Author: Daniel Drake Date: Mon Mar 26 00:59:47 2007 +0100 [PATCH] zd1211rw: Don't handle broken frames in monitor mode Using monitor mode, Johannes Berg observed out that lots of corrupted and otherwise invalid frames were being passed to the host. When in monitor mode we were disabling the hardware filtering here, but this is not how monitor mode should work. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit d2d7c052106ebee75952da4dd547f40a1673d9e0 Author: Daniel Drake Date: Mon Mar 26 00:59:18 2007 +0100 [PATCH] zd1211rw: Mark some data const This is a backport of Helge Deller's recent patch for wireless-dev.git Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 85d32e7b0ea53a11d2a4018d8ad2605052778df7 Author: Jouni Malinen Date: Sat Mar 24 17:15:30 2007 -0700 [PATCH] Update my email address from jkmaline@cc.hut.fi to j@w1.fi After 13 years of use, it looks like my email address is finally going to disappear. While this is likely to drop the amount of incoming spam greatly ;-), it may also affect more appropriate messages, so let's update my email address in various places. In addition, Host AP mailing list is subscribers-only and linux-wireless can also be used for discussing issues related to this driver which is now shown in MAINTAINERS. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e542aa6bd50ba163253e60ba8e7e51c0d56162a7 Author: Jan-Bernd Themann Date: Thu Mar 22 17:50:24 2007 +0100 ehea: code cleanup This patch includes: - code cleanup related to resource management - extended error data gathering for resource management - removing trailing whitespaces Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 1eef4e04c95fb52a1a3885c8f53a822206fc9aa5 Author: Jan-Bernd Themann Date: Thu Mar 22 17:49:42 2007 +0100 ehea: fix for dynamic lpar support The patch fixes bugs related to the probe / remove adapter functionality (handling of OFDT nodes) Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit d68300182828596016d7a6c0f23a912f07d9d0df Author: Deepak Saxena Date: Mon Mar 19 15:43:11 2007 -0700 Netpoll support for Sibyte MAC NETPOLL support for Sibyte MAC Signed-off-by: Manish Lachwani Signed-off-by: Deepak Saxena Signed-off-by: Jeff Garzik commit 0c61ed5fe2c36b502a716a2ea3dd24e846029287 Author: Ramkrishna Vepa Date: Fri Mar 9 18:28:32 2007 -0800 S2io: Remove unused variables - Remove unused variables from s2io_nic structure - Changed the memory failure printk messages to print only in debug mode - Updated the copyright messages (Resending; due to patch being corrupted) Signed-off-by: Santosh Rastapur Signed-off-by: Jeff Garzik commit 1e2b980fdfb6189baa779ba7de93f7dba70aa3fd Author: Ralf Baechle Date: Sun Mar 18 23:21:22 2007 +0000 MIPSnet: Modernize use platform_device API. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit a5f8f3b6c91b07ee9aa2445a92a1d6c00a71a3cd Author: Stephen Hemminger Date: Fri Mar 16 14:01:32 2007 -0700 skge: version 1.11 New version to track changes. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3f0dec7f6069c308ee7110e29e2b2d63bc5baeea Author: Stephen Hemminger Date: Fri Mar 16 14:01:31 2007 -0700 skge: rearrange fields Do some minor rearrangement of data structures to try and optimize cache usage. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 992c9623b148ba939e9cdba0d668eedd3af1a5d2 Author: Stephen Hemminger Date: Fri Mar 16 14:01:30 2007 -0700 skge: transmit locking improvements Don't need to lock when processing transmit complete unless queue fills. Modeled after tg3. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 7e0038a414c38085dfbf352f21006bcca4cd308b Author: Stephen Hemminger Date: Fri Mar 16 14:01:29 2007 -0700 skge: ignore unused error interrupts The following hardware error bits only show up on Genesis chipset and are handled elsewhere, so they can be masked off. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a0d69f229fedea3f2b510ee8ece985c974860d41 Author: Pavel Roskin Date: Sat Mar 10 22:54:22 2007 -0500 [PATCH] sparse-annotate radiotap header Document that all fields must be little endian. Use annotated types even in the comments. Consistently use shorter type names (u8, s8). Realign the comments. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit d2f11e0991e3794f11d851b7ee0d98e064b10333 Author: Tony Breeds Date: Fri Mar 9 13:11:46 2007 +1100 [PATCH] libertas: use standard kernel macros Cleanup drivers/net/wireless/libertas/debugfs.c to use standard kernel macros and functions. Signed-off-by: Tony Breeds Signed-off-by: John W. Linville commit af5b5c9aa92ced95fca509e775aec90933f8959d Author: Michal Schmidt Date: Fri Mar 16 12:44:40 2007 +0100 [PATCH] airo: Make /sys/bus/pci/drivers/airo/{,un}bind work The way airo.c keeps track of all its devices is complicated and buggy as well (del_airo_dev forgets to free the memory add_airo_dev allocates). It's cleaner to use the standard list primitives. While we're at it, it's not necessary to put PCI cards in the list, because the kernel already keeps track of them. We can take advantage of it and use the .remove callback as it was meant to be. This makes /sys/bus/pci/drivers/airo/{,un}bind work. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit fd48f8d3a3e147e666d838194d5f9de64403ecb1 Author: Michal Schmidt Date: Fri Mar 16 12:40:00 2007 +0100 [PATCH] airo: Don't check for NULL before kfree() It's unnecessary to check for NULL before calling kfree(). Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit aa93c85d09295dcb269fc1a0690d9ddfb58f46cc Author: Larry Finger Date: Wed Mar 14 15:06:22 2007 -0500 [PATCH] bcm43xx:Eliminate some 'G Mode Enable' magic numbers In code manipulating the TM State Low register of 802.11 cores, two different magic numbers are used to reference the 'G Mode Enable' bit. One of these, 0x20000000, is clear, but the other, (0x800 << 18), is not. This patch replaces both types with a defined constant. In addition, two bits in the TM State High registers are given definitions to help in following the code. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit aec91028db71cae7efa1101cf2e38c407096f023 Author: Daniel Drake Date: Sun Mar 11 19:54:39 2007 +0000 [PATCH] zd1211rw: More device IDs ASUS A9Rp Tested by Serge zd1211b chip 0b05:171b v4802 high 00-17-31 AL2230_RF pa0 g-- ZyXEL G-202 Tested by Marcus D. Hanwell zd1211b chip 0586:3410 v4810 high 00-13-49 AL2230_RF pa0 g--- US Robotics USR805423 Tested by Pascal S. de Kloe FCC ID: RAXWN4501H zd1211b chip 0baf:0121 v4810 high 00-14-c1 AL2230_RF pa0 g--N Julien Pinon reports this also comes in AL2230S form Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit f2a81a161d5089fe838ec6c4c7b6357f25aeacbe Author: Daniel Drake Date: Sun Mar 11 19:54:28 2007 +0000 [PATCH] zd1211rw: Add AL2230S RF support ZD1211 appears to be back in production: a number of new devices have been appearing! Some of them are using new radios. This patch adds support for the next generation AL2230 RF chip which has been spotted in a few new devices. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 832855dc5a9beb78644d6163f94eccf2094bf30d Author: Daniel Drake Date: Sun Mar 11 19:53:40 2007 +0000 [PATCH] zd1211rw: Use compare_ether_addr() Suggested by Maxime Austruy, based on mac80211 changes from Stephen Hemminger Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 6bab99be917054736097b758489a9ea27fd44245 Author: Valerie Henson Date: Mon Mar 12 02:31:34 2007 -0700 Rev tulip version Rev tulip version... things have changed since 2002! Signed-off-by: Valerie Henson Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit 1ddb98618d5b797cb5300f093c1df1f38f79d9ba Author: Valerie Henson Date: Mon Mar 12 02:31:33 2007 -0700 Fix tulip SytemError typo Fix an annoying typo - SytemError -> SystemError Signed-off-by: Valerie Henson Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit eb117b1786804f2e128b871879ffe8f6a2701378 Author: Thibaut VARENE Date: Mon Mar 12 02:31:30 2007 -0700 TULIP: Natsemi dp83840a PHY fix Fix a problem with Tulip 21142 HP branded PCI cards (PN#: B5509-66001), which feature a NatSemi DP83840A PHY. Without that patch, it is impossible to properly initialize the card's PHY, and it's thus impossible to monitor/configure it. [VAL: I'm happy with the 1.5 ms max delay; it doesn't seem excessive.] Signed-off-by: Thibaut VARENE Cc: Jeff Garzik Acked-by: Grant Grundler Signed-off-by: Valerie Henson Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b3bff39a2b3574542f5007e19038393dfdd64c85 Author: Valerie Henson Date: Mon Mar 12 02:31:29 2007 -0700 TULIP: Fix for 64-bit MIPS From: Jim Gifford , Grant Grundler , Peter Horton With Grant's help I was able to get the tulip driver to work with 64 bit MIPS. [VAL: I'm happy with the 1.5 ms max delay; it doesn't seem excessive.] Signed-off-by: Valerie Henson Signed-off-by: Andrew Morton Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit c28896a4244e2fbe28c94e3a6048625f5c15cab4 Author: Atsushi Nemoto Date: Thu Mar 15 00:10:37 2007 +0900 tc35815: Zap changelog from source code Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 793bc0afbdccd97e66b2bdf43c2ce5653140ee5e Author: Atsushi Nemoto Date: Wed Mar 14 01:02:20 2007 +0900 tc35815: Fix an usage of streaming DMA API. The tc35815 driver lacks a call to pci_dma_sync_single_for_device() on receiving. Recent fix of MIPS dma_sync_single_for_cpu() reveal this bug. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 1e56a4b4029dd1cabf73f28970b5c11bcbae6bb7 Author: Don Fry Date: Tue Mar 6 10:55:00 2007 -0800 pcnet32: change to use netdev_priv use netdev_priv() instead of dev->priv Signed-off-by: Thomas Bogendoerfer Signed-off-by: Don Fry Signed-off-by: Jeff Garzik commit 6ecb766710e5128e3b8f3c775f907dcb8fead8d1 Author: Don Fry Date: Tue Mar 6 10:45:23 2007 -0800 pcnet32: only allocate init_block dma consistent The patch below moves the init_block out of the private struct and only allocates init block with pci_alloc_consistent. This has two effects: 1. Performance increase for non cache coherent machines, because the CPU only data in the private struct are now cached 2. locks are working now for platforms, which need to have locks in cached memory Signed-off-by: Thomas Bogendoerfer Acked-by: Don Fry Signed-off-by: Jeff Garzik commit 1c8816c6fe375ed3a1e342fcf7f403cd4f0d5041 Author: Ahmed S. Darwish Date: Tue Mar 6 11:08:28 2007 -0800 ixgb: Use ARRAY_SIZE macro when appropriate. Signed-off-by: Ahmed S. Darwish Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 363dc36733b06a94d3dce7c43b56c888f6d185de Author: Ramkrishna Vepa Date: Tue Mar 6 17:01:00 2007 -0800 S2IO: Save/Restore unused buffer mappings in 2/3 buffer mode - Save/Restore unused buffer mappings in 2/3 buffer mode to avoid frequent mapping - Save/Restore adapter reset count during adapter reset (Resending; forgot to cc netdev) Signed-off-by: Santosh Rastapur Signed-off-by: Jeff Garzik commit dcd01faf66372f1806451422ad67b06adcc68f82 Author: Auke Kok Date: Tue Mar 6 08:58:06 2007 -0800 e1000: list e1000-devel mailing list in MAINTAINERS Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 1c7e5b125a0d31efd994326ed4c6d60c5760c43b Author: Yan Burman Date: Tue Mar 6 08:58:04 2007 -0800 e1000: Use kcalloc() Replace kmalloc+memsetout the driver. Slightly modified by Auke Kok. Signed-off-by: Yan Burman Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c38db30b22913394f4634dc09f32d7838eb52ca1 Author: Ahmed S. Darwish Date: Tue Mar 6 08:58:02 2007 -0800 e1000: Use ARRAY_SIZE macro when appropriate A patch to use ARRAY_SIZE macro already defined in kernel.h. Signed-off-by: Ahmed S. Darwish Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 024a0a3cfb4c98cb3c6c81ec70672c6a925cf164 Author: Shan Lu Date: Tue Mar 6 02:42:03 2007 -0800 network: add the missing phy_device speed information to phy_mii_ioctl Function `phy_mii_ioctl' returns physical device's information based on user requests. When requested to return the basic mode control register information (BMCR), the original implementation only returns the physical device's duplex information and forgets to return speed information, which should not be because BMCR register is used to hold both duplex and speed information. The patch checks the BMCR value against speed-related flags and fills the return structure's speed field accordingly. Signed-off-by: Shan Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2b272221ad3d5c686f1d5ffb3b3c8a45120ad765 Author: Dmitriy Monakhov Date: Tue Mar 6 02:42:01 2007 -0800 sk98lin: handle pci_enable_device() return value in skge_resume() Signed-off-by: Monakhov Dmitriy Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f1069046b4c7a5750611305433646c1bff3686fd Author: Maxim Levitsky Date: Tue Mar 6 02:41:54 2007 -0800 dmfe: add support for Wake on lan Add support for WOL on Magic Packet and on link change Signed-off-by: Maxim Levitsky Cc: Valerie Henson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit bc8a8387ba57db2275e717c19838a8d5a404c270 Author: Maxim Levitsky Date: Tue Mar 6 02:41:53 2007 -0800 dmfe: add support for suspend/resume This adds support for suspend resume [akpm@linux-foundation.org: fix CONFIG_PM=n, coding style] Signed-off-by: Maxim Levitsky Cc: Valerie Henson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b3df0da886ffdb3e70c3197f589e959e5f8c9c04 Author: Randy Dunlap Date: Tue Mar 6 02:41:48 2007 -0800 phy layer: add kernel-doc + DocBook Convert function documentation in drivers/net/phy/ to kernel-doc and add it to DocBook. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 56e1393f82349d8206fe7feb94db96b065c55e51 Author: Arjan van de Ven Date: Tue Mar 6 02:41:48 2007 -0800 user of the jiffies rounding code: e1000 Use the round_jiffies() function in e1000. These timers all were of the "about once a second" or "about once every X seconds" variety and several showed up in the "what wakes the cpu up" profiles that the tickless patches provide. Some timers are highly dynamic based on network load; but even on low activity systems they still show up so the rounding is done only in cases of low activity, allowing higher frequency timers in the high activity case. The various hardware watchdogs are an obvious case; they run every 2 seconds but aren't otherwise specific of exactly when they need to run. Signed-off-by: Arjan van de Ven Acked-by: Auke Kok Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit eea221ce48803a92e2319270b2b7b8e21cd470ca Author: Atsushi Nemoto Date: Sat Mar 3 23:54:59 2007 +0900 tc35815 driver update (take 2) Current tc35815 driver is very obsolete and less maintained for a long time. Replace it with a new driver based on one from CELF patch archive. Major advantages of CELF version (version 1.23, for kernel 2.6.10) are: * Independent of JMR3927. (Actually independent of MIPS, but AFAIK the chip is used only on MIPS platforms) * TX4938 support. * 64-bit proof. * Asynchronous and on-demand auto negotiation. * High performance on non-coherent architecture. * ethtool support. * Many bugfixes and cleanups. And improvoments since version 1.23 are: * TX4939 support. * NETPOLL support. * NAPI support. (disabled by default) * Reduce memcpy on receiving. * PM support. * Many cleanups and bugfixes. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 3664006ab9d90caca5c195e11a2b2e400d454265 Author: Adrian Bunk Date: Mon Mar 5 02:49:27 2007 +0100 drivers/net/qla3xxx.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 7b49034399bfbf4eaaa3e0447d325e8f3a132209 Author: Adrian Bunk Date: Mon Mar 5 02:49:25 2007 +0100 make drivers/net/s2io.c:vlan_strip_flag static This patch makes the needlessly global vlan_strip_flag static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 78ee5b3cc88297bb98843c24b231e99f3f2886a0 Author: Ladislav Michl Date: Wed Feb 28 01:18:35 2007 +0000 Add support for Seeq 8003 on Challenge S Mezz board. Thanks to Jö Fahlke for donating hardware. Signed-off-by: Ladislav Michl Forward porting of Ladis' 2.4 patch. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 18604c54854549ee0ad65e27ca9cb91c96af784c Author: Jan-Bernd Themann Date: Wed Feb 28 18:34:10 2007 +0100 ehea: NAPI multi queue TX/RX path for SMP This patch provides a functionality that allows parallel RX processing on multiple RX queues by using dummy netdevices. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 1acf2318dd136edfbfa30f1f33b43f69f2e2ec6c Author: Jan-Bernd Themann Date: Wed Feb 28 18:34:02 2007 +0100 ehea: dynamic add / remove port This patch introduces functionality to dynamically add / remove ehea ports via an userspace DLPAR tool. It creates a subnode for each logical port in the sysfs. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 459e536b1ddfd217ec8a3437a3214968a98223c7 Author: Stephen Hemminger Date: Tue Feb 20 15:58:02 2007 -0800 chelsio: use const for virtual functions There are several uses of _ops structure in this driver that can be converted to const. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 4c247db114d95fb42528afe4c16db522dd050d7b Author: Stephen Hemminger Date: Tue Feb 20 15:58:01 2007 -0800 chelsio: use C99 style initialization Convert some initialized structures to C99 style. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 4d2b8f66b89dd74d76d2b40cb45dffaa5567bb8f Author: Stephen Hemminger Date: Tue Feb 20 15:58:00 2007 -0800 chelsio: remove unused code for 1G boards Some code for Chelsio 1G boards was put in the driver based on the vendor version (minus TOE). Well some of those board versions are only supported with TOE on the vendor driver, so additional dead code was added. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 0ae08183d89fa48c0e4be019f45b93ad638c3890 Author: Sam Ravnborg Date: Sat Mar 3 23:55:08 2007 -0600 [PATCH] bcm43xx: do not rebuild when kernel version changes In bcm43xx_ethtool, UTS_RELEASE is used. Replacing this with utsname()->release avoids rebuilding this module each time the kernel version changes. Signed-off-by: Sam Ravnborg Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 99d3184ac7b4e91c88073f474ebe758540b3ad82 Author: Jouni Malinen Date: Tue Feb 27 19:46:46 2007 -0800 [PATCH] hostap: Add D-Link DWL-650 Rev. P1 product id It looks like some of the PC Card manfid/product strings were lost when Host AP driver was converted to use PCMCIA_DEVICE_* helpers. This patch adds back D-Link DWL-650 Rev. P1 using the same product ID string match as the pcmcia-cs/cardmgr configuration used before. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 742e9910d68a338189de8b5be77ae1d141f3851f Author: Andrew Morton Date: Thu Mar 1 08:19:29 2007 -0500 [PATCH] ipw2200: fix ieee80211_get_geo typo testing much? Cc: Zhu Yi Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit b3f1b8cf11e412367a35045a60abbbd2ada5f75d Author: John W. Linville Date: Tue Feb 27 14:39:04 2007 -0500 [PATCH] libertas: fix build breakage from netdev class_device -> device Signed-off-by: John W. Linville commit ebb4e07e351e456216681f9bcf6bc4a5f0f7f55b Author: John W. Linville Date: Tue Feb 27 13:41:26 2007 -0500 [PATCH] wireless: remove obsolete text files Signed-off-by: John W. Linville commit 70a734391a7e12ae177f703b8caf37c7f2014682 Author: Larry Finger Date: Tue Feb 20 10:33:13 2007 -0600 [PATCH] bcm43xx: Update Documentation/bcm43xx.txt The in-kernel documentation of the bcm43xx driver is out of date. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c6710e50f6b976dead878e143c568d4f8b068c7c Author: Pavel Roskin Date: Sun Feb 18 20:44:06 2007 -0500 [PATCH] hostap: use offsetof() instead of own equivalent The original macros result in gcc 4.2 warning about "cast from pointer to integer of different size" on 64-bit systems. Use of offsetof() on fields in substructures is widespread throughout the kernel code and should work whether offsetof() is defined using __compiler_offsetof() or a cast. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 876c9d3aeb989cf1961f2c228d309ba5dcfb1172 Author: Marcelo Tosatti Date: Sat Feb 10 12:25:27 2007 -0200 [PATCH] Marvell Libertas 8388 802.11b/g USB driver Add the Marvell Libertas 8388 802.11 USB driver. Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit 35c3404efa7407811b706453f83d39b2539dcbd0 Author: Ulrich Kunitz Date: Sun Feb 18 20:28:23 2007 +0000 [PATCH] zd1211rw: changed GFP_NOFS to GFP_KERNEL Michael Buesch commented that GFP_NOFS should not be used in a network driver. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 375dd24428cfe900f4ed95d301fe604f8e0d459b Author: Zhu Yi Date: Wed Feb 14 16:04:24 2007 +0800 [PATCH] ipw2200: add channels sysfs entry Add 'channels' sysfs entry for ipw2200. The entry exports channels information for the user space. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3e18c8dd0d3456f96e13bc2e72197bfae11d8501 Author: Sam Ravnborg Date: Thu Apr 26 00:04:39 2007 -0700 [ARM] fix section mismatch warning in board-sam9260 Andrew Morton found a section mismatch warning in x86_64 triggered by a wrongly placed __initdata marker. git grep "struct __initdata" revealed that board-sam9260.c had the same problem. This patch fixes this by placing the __initdata marker correct. It was checked with objdump that the variable was moved to .init.data by this change. Fixed an unrelated section mismatch warning while touching the file. Both changes are only compile tested but obvious correct. [Used at91sam9260ek_defconfig to get compile coverage] Signed-off-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Russell King commit f16fb1ecc5a1cb2f7cc595179d1fe55e711e599f Author: Russell King Date: Sat Apr 28 09:59:37 2007 +0100 [ARM] Add stacktrace support and make oprofile use it Add support for stacktrace. Use the new stacktrace code with oprofile instead of it's version; there's no point having multiple versions of stacktracing in the kernel. Signed-off-by: Russell King commit b9099ff63c75216d6ca10bce5a1abcd9293c27e6 Merge: 9401553... dc5a144... Author: Linus Torvalds Date: Fri Apr 27 17:49:50 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: sis900: Allocate rx replacement buffer before rx operation usb-net/pegasus: simplify carrier detection commit dc5a144991ba803bc8afded105c9db1dea0e57ab Author: Neil Horman Date: Thu Apr 26 13:47:36 2007 -0400 sis900: Allocate rx replacement buffer before rx operation Just found a hole in my last patch. It was reported to me that shortly after we integrated this patch. The report was of an oops that took place inside of netif_rx when using the sis900 driver. Looking at my origional patch I noted that there was a spot between the new skb_alloc and the refill_rx_ring label where skb got reassigned to the pointer currently held in the rx_ring for the purposes of receiveing the frame. The result of this is however that the buffer that gets passed to netif_rx (if it is called), then gets placed right back into the rx_ring. So if you receive frames fast enough the skb being processed by the network stack can get corrupted. The reporter is testing out the fix I've written for this below (I'm not near my hardware at the moment to test myself), but I wanted to post it for review ASAP. I'll post test results when I hear them, but I think this is a pretty straightforward fix. It just uses a separate pointer to do the rx operation, so that we don't improperly reassign the pointer that we use to refill the rx ring. Signed-off-by: Neil Horman Signed-off-by: Jeff Garzik commit 1764f15016fea54db723a96234a82646dac9a036 Author: Dan Williams Date: Wed Apr 25 21:30:29 2007 -0400 usb-net/pegasus: simplify carrier detection Simplify pegasus carrier detection; rely only on the periodic MII polling. Reverts pieces of c43c49bd61fdb9bb085ddafcaadb17d06f95ec43. Signed-off-by: Dan Williams Signed-off-by: Jeff Garzik commit 940155309cd037d3a49ad01276e591b872e8a832 Merge: 42fae7f... e1f2a09... Author: Linus Torvalds Date: Fri Apr 27 16:21:02 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SCSI] esp_scsi.c: Fix compilation. commit 42fae7fb1c27d230fbd48aa055a4ae6796fb0039 Merge: f005463... b8b8fd2... Author: Linus Torvalds Date: Fri Apr 27 16:20:37 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [NET]: Fix networking compilation errors [AF_RXRPC/AFS]: Arch-specific fixes. [AFS]: Fix VLocation record update wakeup [NET]: Revert sk_buff walker cleanups. commit f00546363fff1576ceddc2690d47e5f9c1dd2e05 Merge: 50f732e... 28b57cd... Author: Linus Torvalds Date: Fri Apr 27 15:34:57 2007 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (46 commits) [MTD] [MAPS] drivers/mtd/maps/ck804xrom.c: convert pci_module_init() [MTD] [NAND] CM-x270 MTD driver [MTD] [NAND] Wrong calculation of page number in nand_block_bad() [MTD] [MAPS] fix plat-ram printk format [JFFS2] Fix compr_rubin.c build after include file elimination. [JFFS2] Handle inodes with only a single metadata node with non-zero isize [JFFS2] Tidy up licensing/copyright boilerplate. [MTD] [OneNAND] Exit loop only when column start with 0 [MTD] [OneNAND] Fix access the past of the real oobfree array [MTD] [OneNAND] Update Samsung OneNAND official URL [JFFS2] Better fix for all-zero node headers [JFFS2] Improve read_inode memory usage, v2. [JFFS2] Improve failure mode if inode checking leaves unchecked space. [JFFS2] Fix cross-endian build. [MTD] Finish conversion mtd_blkdevs to use the kthread API [JFFS2] Obsolete dirent nodes immediately on unlink, where possible. Use menuconfig objects: MTD [MTD] mtd_blkdevs: Convert to use the kthread API [MTD] Fix fwh_lock locking [JFFS2] Speed up mount for directly-mapped NOR flash ... commit 28b57cddb3ed4f7999e4b76ef36ebaaf6e2e0c37 Author: Adrian Bunk Date: Fri Apr 27 01:48:01 2007 +0200 [MTD] [MAPS] drivers/mtd/maps/ck804xrom.c: convert pci_module_init() This patch converts the pci_module_init() usage to pci_register_driver(). It's currently #if 0'ed, but still not a bad idea to change it. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit b8b8fd2dc23725fba77f66b3fef11b11f983fc08 Author: David Howells Date: Fri Apr 27 15:31:24 2007 -0700 [NET]: Fix networking compilation errors Fix miscellaneous networking compilation errors. (*) Export ktime_add_ns() for modules. (*) wext_proc_init() should have an ANSI declaration. Signed-off-by: David Howells Signed-off-by: David S. Miller commit b1bdb691c3c38b4fbaf99fa8474f5cfa99b2d774 Author: David Howells Date: Fri Apr 27 15:28:45 2007 -0700 [AF_RXRPC/AFS]: Arch-specific fixes. Fixes for various arch compilation problems: (*) Missing module exports. (*) Variable name collision when rxkad and af_rxrpc both built in (rxrpc_debug). (*) Large constant representation problem (AFS_UUID_TO_UNIX_TIME). (*) Configuration dependencies. (*) printk() format warnings. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 47051a2152f8b2355ee70249a0faaf7b682e8ce5 Author: David Howells Date: Fri Apr 27 15:26:30 2007 -0700 [AFS]: Fix VLocation record update wakeup Fix the wakeup transitions after a VLocation record update completes one way or another. This builds on Dave Miller's partial fix. Also move wakeups outside the spinlocked sections. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 1a028e50729b85d0a038fad13daf0ee201a37454 Author: David S. Miller Date: Fri Apr 27 15:21:23 2007 -0700 [NET]: Revert sk_buff walker cleanups. This reverts eefa3906283a2b60a6d02a2cda593a7d7d7946c5 The simplification made in that change works with the assumption that the 'offset' parameter to these functions is always positive or zero, which is not true. It can be and often is negative in order to access SKB header values in front of skb->data. Signed-off-by: David S. Miller commit e1f2a094bdfa8e7ecc31f048e6c6dbea2b4f5f74 Author: Alexey Dobriyan Date: Fri Apr 27 15:19:27 2007 -0700 [SCSI] esp_scsi.c: Fix compilation. irqreturn.h for irqreturn_t and dma_addr_t being u128 warnings ;-) Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 54d33c4c715b80cc022b8e4974a4de693c96fc99 Author: Mike Rapoport Date: Sun Apr 22 08:53:21 2007 +0300 [MTD] [NAND] CM-x270 MTD driver This patch provides MTD support for NAND flash devices on CM-x270 modules. Signed-off-by: Mike Rapoport Signed-off-by: David Woodhouse commit 50f732ee63b91eb08a29974b36bd63e1150bb642 Merge: aa5bc2b... a7205b3... Author: Linus Torvalds Date: Fri Apr 27 14:19:17 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: (78 commits) USB: update MAINAINERS and CREDITS for Freescale USB driver USB: update gadget files for fsl_usb2_udc driver USB: add Freescale high-speed USB SOC device controller driver USB: quirk for broken suspend of IT8152F/G USB: iowarrior.c: timeouts too small in usb_control_msg calls USB: dell device id for option.c USB: Remove Huawei unusual_devs entry USB: CP2101 New Device IDs USB: add picdem device to ldusb usbfs micro optimitation USB: remove ancient/broken CRIS hcd usb ethernet gadget, workaround network stack API glitch USB: add "busnum" attribute for USB devices USB: cxacru: ADSL state management usbatm: Detect usb device shutdown and ignore failed urbs USB: Remove duplicate define of OHCI_QUIRK_ZFMICRO USB: BandRich BandLuxe HSDPA Data Card Driver USB gadget rndis: fix struct rndis_packet_msg_type unaligned bug USB Elan FTDI: check for driver registration status USB: sierra: add more checks on shutdown ... commit aa5bc2b58e3344da57f26b62e99e13e91c9e0a94 Merge: d868772... d455cf5... Author: Linus Torvalds Date: Fri Apr 27 14:18:45 2007 -0700 Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (184 commits) V4L/DVB (5563): Radio-maestro.c Replace radio_ioctl to use video_ioctl2 V4L/DVB (5562): Radio-gemtek-pci.c Replace gemtek_pci_ioctl to use video_ioctl2 V4L/DVB (5560): Ivtv: fix incorrect bitwise-and for command flags. V4L/DVB (5558): Opera: use 7-bit i2c addresses V4L/DVB (5557): Cafe_ccic: check return value of pci_enable_device V4L/DVB (5556): Radio-gemtek.c Replace gemtek_ioctl to use video_ioctl2 V4L/DVB (5555): Radio-aimslab.c Replace rt_ioctl to use video_ioctl2 V4L/DVB (5554): Fix: vidioc_g_parm were not zeroing the memory V4L/DVB (5553): Replace typhoon_do_ioctl to use video_ioctl2 V4L/DVB (5552): Plan-b: Switch to refcounting PCI API V4L/DVB (5551): Plan-b: header change V4L/DVB (5550): Radio-sf16fmi.c Replace fmi_do_ioctl to use video_ioctl2 V4L/DVB (5549): Radio-sf16fmr2.c Replace fmr2_do_ioctl to use video_ioctl2 V4L/DVB (5548): Fix v4l2 buffer to the length V4L/DVB (5547): Add ENUM_FRAMESIZES and ENUM_FRAMEINTERVALS ioctls V4L/DVB (5546): Radio-terratec.c Replace tt_do_ioctl to use video_ioctl2 V4L/DVB (5545): Saa7146: Release capture buffers on device close V4L/DVB (5544): Budget-av: Make inversion setting configurable, add KNC ONE V1.0 card V4L/DVB (5543): Tda10023: Add support for frontend TDA10023 V4L/DVB (5542): Budget-av: Remove polarity switching of the clock for DVB-C ... commit a7205b30106a2d4ee268132644cdb292da2d9b41 Author: Li Yang Date: Mon Apr 23 10:38:18 2007 -0700 USB: update MAINAINERS and CREDITS for Freescale USB driver Add MAINAINERS and CREDITS entry for Freescale Highspeed USB device driver. Signed-off-by: Li Yang Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d2eef1fc99640f7de302dcdbcfbdfcec2eef13f6 Author: Li Yang Date: Mon Apr 23 10:37:36 2007 -0700 USB: update gadget files for fsl_usb2_udc driver Update gadget_chip.c, ether.c for newly added Freescale Highspeed USB device driver. Signed-off-by: Li Yang Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b504882da539c17ce6fee9da2a97f2fafabd495d Author: Li Yang Date: Mon Apr 23 10:54:25 2007 -0700 USB: add Freescale high-speed USB SOC device controller driver Freescale high-speed USB SOC can be found on some Freescale processors among different architectures. It supports both host and device functions. This driver adds its device support for Linux USB Gadget layer. It is tested on MPC8349 and MPC8313, but should work on other platforms with minor tweaks. The driver passed USBCV 1.3 compliance tests. Note that this driver doesn't yet include OTG support. Signed-off-by: Li Yang Signed-off-by: Jiang Bo Signed-off-by: Bruce Schmid Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 33f73e56198457c38789e08c47d2af47174c1d8f Author: Raphael Assenat Date: Tue Apr 17 13:09:18 2007 -0700 USB: quirk for broken suspend of IT8152F/G Here's a patch which adds my device to the list. This patch enables the broken suspend quirk for the PCI OHCI controller present in the IT8152F/G RISC-to-PCI Companion Chip. Signed-off-by: Raphael Assenat Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 147c5a17338fc72a89452f0a6c14ae6fcf853919 Author: Eberhard Fahle Date: Thu Apr 5 11:13:21 2007 +0200 USB: iowarrior.c: timeouts too small in usb_control_msg calls The driver uses usb_control_msg() for exchanging data with the device. When the driver lived freeley _outside_ the kernel tree (pre 2.6.21) the timeouts for these calls where set to 5*HZ for reading, 1HZ for writing. (These timeouts seemed to work fine for all users of the driver, at least nobody complained in the last 2 years. The current code (2.6.21-rc5) removed the 'HZ' from the timeouts and left the driver with 5 jiffies for reading and 1 jiffy for writing. My new machine is fast, but not that fast. The patch also removes a useless debug statement, which was left over from testing a broken firmware version From: Eberhard Fahle Signed-off-by: Greg Kroah-Hartman commit a03c6facf84a51a04958d75ceef443108c44872d Author: Hans Engelen Date: Thu Apr 12 14:40:26 2007 +0200 USB: dell device id for option.c Signed-off-by: Greg Kroah-Hartman commit 862e9043776578d575494db79d9189795350ed67 Author: Phil Dibowitz Date: Sun Apr 15 23:42:40 2007 -0700 USB: Remove Huawei unusual_devs entry Per the Rui Santos and the hardware manufacturers, this actually inhibits useful parts of the hardware. The correct way to use this hardware is with the software at http://www.kanoistika.sk/bobovsky/archiv/umts/ and the manufacturers are also planning on including Linux drivers/material in future revisions. CC: Rui Santos CC: CC: CC: CC: Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 92f5cae2e8914d2d762728dd7629e5121ba070f3 Author: Craig Shelley Date: Fri Apr 20 14:37:17 2007 +0100 USB: CP2101 New Device IDs Two new device IDs for CP2101 driver. Signed-off-by: Craig Shelley Signed-off-by: Greg Kroah-Hartman commit 79dcdbf67d8885375711c4f2261168fa87389a31 Author: Joey Goncalves Date: Fri Apr 20 11:05:54 2007 -0700 USB: add picdem device to ldusb Hi Greg: I have found that /drivers/usb/misc/ldusb.c works with the "PICDEM Full Speed USB" http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en021940 Signed-off-by: Joey S Goncalves Cc: Michael Hund Signed-off-by: Greg Kroah-Hartman commit 527660a819f513edc52fea6bcb4068ce1d4d966b Author: Oliver Neukum Date: Fri Apr 20 20:50:48 2007 +0200 usbfs micro optimitation the memory barrier is needed only with smp. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 1b101ceb9162086035ce0c9cbe83ca7b4845179a Author: David Brownell Date: Sun Apr 22 11:05:52 2007 -0700 USB: remove ancient/broken CRIS hcd Remove the old crisv10 HCD ... it can't have built for some time, doesn't even have a Kconfig entry, was the last driver not to have been converted to the "hcd" framework, and considering the usbcore changes since its last patch was merged, has just got to buggy as all get-out. I'm told Axis has a new driver, and will be submitting it soon. Signed-off-by: David Brownell Cc: Mikael Starvik Signed-off-by: Greg Kroah-Hartman commit b8d297c93a888fcd4d74ba0bbeeabe9b84caf514 Author: Erik Hovland Date: Mon Apr 23 10:50:15 2007 -0700 usb ethernet gadget, workaround network stack API glitch Another workaround for the glitch in the network layer, whereby one call ignores the (otherwise kernel-wide) convention that free() calls should not oops when passed nulls. This code already handles that API glitch in most other paths. From: Erik Hovland Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 83f7d958eab2fbc6b159ee92bf1493924e1d0f72 Author: Alan Stern Date: Wed Apr 25 15:15:43 2007 -0400 USB: add "busnum" attribute for USB devices This patch (as903) adds a "busnum" sysfs attribute for USB devices. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6a02c996bce297a782432e29c69268356e97fadd Author: Simon Arlott Date: Thu Apr 26 00:38:05 2007 -0700 USB: cxacru: ADSL state management The device has commands to start/stop the ADSL function, so this adds a sysfs attribute to allow it to be started/stopped/restarted. It also stops polling the device for status when the ADSL function is disabled. There are no problems with sending multiple start or stop commands, even with a fast loop of them the device still works. There is no need to protect the restart process from further user actions while it's waiting for 1.5s. Signed-off-by: Simon Arlott Cc: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7d5e1dd40bd5ced457be178e4f0b1267a3df2142 Author: Simon Arlott Date: Thu Apr 26 00:38:04 2007 -0700 usbatm: Detect usb device shutdown and ignore failed urbs Detect usb device shutdown and ignore failed urbs. This happens when the driver is unloaded or the device is unplugged. I'm not sure what other urb statuses should be ignored, and the warning message doesn't need to be shown when the module is unloaded or the device is removed. Signed-off-by: Simon Arlott Cc: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5c975acb99168827a8ce5453be0e44ad2e4b70b2 Author: S.Caglar Onur Date: Thu Apr 26 00:38:03 2007 -0700 USB: Remove duplicate define of OHCI_QUIRK_ZFMICRO Remove duplicate define of OHCI_QUIRK_ZFMICRO from ftdi-elan.c, its already defined in drivers/ush/host/ohci.c Signed-off-by: "S.Caglar Onur" Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3f6e58467c635ebbb4a139cbe5e0c1f46792e18c Author: Leon Leong Date: Thu Apr 26 00:38:02 2007 -0700 USB: BandRich BandLuxe HSDPA Data Card Driver Add the detection for the BandRich BandLuxe C100/C100S/C120 HSDPA Data Card. With the vendor and product IDs are set properly, the data card can be detected and works fine. Signed-off-by: Leon Leong Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 178398dca00b276aaa1aded7cded89921f710365 Author: Wu, Bryan Date: Thu Apr 26 00:38:01 2007 -0700 USB gadget rndis: fix struct rndis_packet_msg_type unaligned bug skb_push function may return a pointer which is not aligned as required by struct rndis_packet_msg_type. Using attribute trick to fix this bug. Signed-off-by: Roy Huang Signed-off-by: Jie Zhang Signed-off-by: Bryan Wu Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 893a342a686e6ce36ef24d322f3f52420a041313 Author: Cyrill Gorcunov Date: Thu Apr 26 00:38:00 2007 -0700 USB Elan FTDI: check for driver registration status Add checking of driver registration status and release allocated resources if it failed. Signed-off-by: Cyrill Gorcunov Cc: Pete Zaitcev Cc: "Luiz Fernando N. Capitulino" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f094e4f358c2f9f0a46dc777f64ed7794f73d283 Author: Greg Kroah-Hartman Date: Thu Apr 26 00:12:01 2007 -0700 USB: sierra: add more checks on shutdown This should help with any potential NULL pointer usages as reported by a few users. Signed-off-by: Greg Kroah-Hartman commit 931384fb0ec99a7459b3052f5d4db15bcb5037ea Author: David Brownell Date: Tue Apr 17 13:06:29 2007 -0700 USB: add an ohci board-specific quirk Use the new ohci-pci quirk infrastructure to address the problem it was created to address: a quirk specific to the Portege 4000, in buzilla as http://bugzilla.kernel.org/show_bug.cgi?id=6723 Also fix a misuse of "__devinit" for the quirk functions. It must not be used without first ensuring that the references from the quirk tables are gone, and that the function using those quirk tables is also gone. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 296c02429271e1b9525b52fed76daa3b1cafefc4 Author: David Brownell Date: Tue Apr 17 16:10:10 2007 -0700 USB: usbnet reports minidriver name through ethtool Update "usbnet" so that ethtool reports the name of the minidriver in use (e.g. asix, cdc_ether, dm9601, rndis_host) instead of "usbnet". This is a better match to how other network drivers work, resolving a minor open issue. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ddda08624013e8435e9f7cfc34a35bd7b3520b6d Author: David Brownell Date: Tue Apr 17 17:53:20 2007 -0700 USB: rndis_host, various cleanups Cleanups to the rndis_host code, and a tweak that helps talking to PXA hardware. Mostly from Ole André Vadla Ravnås - Prevent SET_INTERFACE requests, they give PXA hardware bad indigestion - For paranoia, null a pointer after freeing its data - Wrap up ActiveSync oddities for RNDIS_QUERY in one routine - Use that wrapper when getting the Ethernet address - Whitespace fixes Plus add a comment noting the open issues about some RNDIS clients still needing TBD kinds of browbeating to accept non-jumbogram packets. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit aa2ce5ca6be480cb139e21258671c2c27826f8ff Author: David Brownell Date: Tue Apr 17 17:51:38 2007 -0700 USB: minor doc update Minor doc update to ... say where USB_DT_CS_* came from and update the definitions to match how they're derived there. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8c9862e512f59ae3f41f83c109be12f93e37bb2d Author: Alan Stern Date: Wed Apr 11 12:06:16 2007 -0400 USB: fix signed jiffies issue in autosuspend logic This patch (as897) changes the autosuspend timer code to use the standard types and macros in dealing with jiffies values. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ecb658d387dc09f344b3d755e8674076072032c7 Author: Pete Zaitcev Date: Wed Apr 11 13:47:26 2007 -0700 usbmon: bus zero Add the "bus zero" feature to the usbmon. If a user process specifies bus with number zero, it receives events from all buses. This is useful when we wish to see initial enumeration when a bus is created, typically after a modprobe. Until now, an application had to loop until a new bus could be open, then start capturing on it. This procedure was cumbersome and could lose initial events. Also, often it's too bothersome to find exactly to which bus a specific device is attached. Paolo Albeni provided the original concept implementation. I added the handling of "bus->monitored" flag and generally fixed it up. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 35d07fd58f47284adecf219d3b73e4ea197cf29f Author: Tony Lindgren Date: Sat Mar 31 18:15:43 2007 -0700 USB: Allow transfer_buffer with transfer_dma Some host controller drivers may need a PIO fallback when a DMA channel is temporarily unavailable. This patch provides an address that such drivers can use for PIO in those cases, and nulls that field out when no such address is available (highmem) which should help usbmon. Signed-off-by: Tony Lindgren Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ebc3ac149bf3a20c235625f1c07e0f997b3e08ba Author: Oliver Neukum Date: Mon Apr 2 15:16:36 2007 +0200 USB: cleanup ofd adutux this driver does - ignore errors during open - submit a running urb - use down_interruptible not handling signals - GFP_KERNEL with a spinlock held Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 1941044aa9632aa8debbb94a3c8a5ed0ebddade8 Author: Alan Stern Date: Tue Mar 27 13:33:59 2007 -0400 USB: add "last_busy" field for use in autosuspend This patch (as877) adds a "last_busy" field to struct usb_device, for use by the autosuspend framework. Now if an autosuspend call comes at a time when the device isn't busy but hasn't yet been idle for long enough, the timer can be set to exactly the desired value. And we will be ready to handle things like HID drivers, which can't maintain a useful usage count and must rely on the time-of-last-use to decide when to autosuspend. The patch also makes some related minor improvements: Move the calls to the autosuspend condition-checking routine into usb_suspend_both(), which is the only place where it really matters. If the autosuspend timer is already running, don't stop and restart it. Replace immediate returns with gotos so that the optional debugging ouput won't be bypassed. If autoresume is disabled but the device is already awake, don't return an error for an autoresume call. Don't try to autoresume a device if it isn't suspended. (Yes, this undercuts the previous change -- so sue me.) Don't duplicate existing code in the autosuspend work routine. Fix the kerneldoc in usb_autopm_put_interface(): If an autoresume call fails, the usage counter is left unchanged. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 38c3cb5b677cf551cd93a494dc5c551271d90ac1 Author: Richard Knutsson Date: Mon Mar 26 22:00:28 2007 -0800 USB: whiteheat: Convert to generic boolean Signed-off-by: Richard Knutsson Acked-by: Stuart MacDonald Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5ec1862e7b612d804ca10a0475dccf98c857efec Author: Oliver Neukum Date: Tue Mar 27 16:02:34 2007 +0200 USB: fix omninet write vs. close race omninet kills all URBs in close. However write() returns as soon as the URB has been submitted. Killing the last URB means a race that can lose that date written in the last call to write(). As a fix this is moved to shutdown(). Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 2f007de2f4296e4dafae6ab0b3cc1bc49443137a Author: Oliver Neukum Date: Thu Mar 29 10:45:17 2007 +0200 USB: fix error handling for mct_u232 we report errors to the caller. THis patch adds error handling to the driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 9306fff17d3852e088dfc512e6f6673f3d80e71e Author: Oliver Neukum Date: Thu Mar 29 11:23:54 2007 +0200 USB: fix error handling in kl5kusb - report errors - cleanup in error case - use of endianness macros Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 5a9f4e338179e75e7e9b56293acb17023e342d81 Author: Oliver Neukum Date: Fri Mar 30 13:11:00 2007 +0200 USB: fix catc error handling this driver ignores errors while starting the transmit queue. It will never be reported stopped as the completion handler won't run and it will never be started again as it will be considered started. This patch adds error handling. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 949ce47168a34618c3e24cb7dd4ab52233a4653c Author: Oliver Neukum Date: Fri Mar 30 10:52:16 2007 +0200 USB: cypress_cy7c63: race disconnect/sysfs read-write leading to following NULL pointer this driver sets intfdata to NULL while it still can be read and happily followed. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 4edf2c83637b9e9db771cc5629de036fe4488564 Author: Oliver Neukum Date: Mon Mar 26 18:12:44 2007 +0200 USB: fix ark3116 memory leak this driver has a memory leak in an error case. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 868e440d2f2b55f790d106100a46034b6aa12577 Author: Jelle Foks Date: Sun Mar 25 21:08:35 2007 -0400 USB: ftdi_sio: Add USB ID of ADSTech USBX-707 This patch adds the USB ID of the ADS Tech USBX-707 USB IR blaster (that comes with the ADS Tech PTV-305 grabber card), which has a ftdi232bm inside hooked up to a pic. With this it should be fairly straightforward to make at least lirc receiving work with this device. I will submit a patch to lirc for that as soon as I have one ready, I'm getting data with minicom with this patch, but need to figure out some more details such as best/correct baudrate. Signed-off-by: Jelle Foks Signed-off-by: Greg Kroah-Hartman commit 62127a585cc72509a0bfae502cc16f9935a4cda6 Author: Oliver Neukum Date: Fri Mar 23 14:30:16 2007 +0100 USB: fix race in ftdio_write this has the same race as the visor driver. The counter must be incremented under the lock it is checked under. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit b80349b17c6e1236a24616f71e59ed31279de25a Author: Oliver Neukum Date: Fri Mar 23 11:58:03 2007 +0100 USB: fix race in visor_write this fixes a small race in visor_write. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit b19d402a3450bb2597d0c1b54f6139462a5f35ae Author: Oliver Neukum Date: Mon Mar 26 16:55:16 2007 +0200 USB: aircable cleanup - proper endianness macros - scheduling in interrupt in error case Signed-off-by: Oliver Neukum Signed-off-by: Naranjo Manuel Francisco commit 9f8b17e643fe6aa505629658445849397bda4e4f Author: Kay Sievers Date: Tue Mar 13 15:59:31 2007 +0100 USB: make usbdevices export their device nodes instead of using a separate class o The "real" usb-devices export now a device node which can populate /dev/bus/usb. o The usb_device class is optional now and can be disabled in the kernel config. Major/minor of the "real" devices and class devices are the same. o The environment of the usb-device event contains DEVNUM and BUSNUM to help udev and get rid of the ugly udev rule we need for the class devices. o The usb-devices and usb-interfaces share the same bus, so I used the new "struct device_type" to let these devices identify themselves. This also removes the current logic of using a magic platform-pointer. The name of the device_type is also added to the environment which makes it easier to distinguish the different kinds of devices on the same subsystem. It looks like this: add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1 ACTION=add DEVPATH=/devices/pci0000:00/0000:00:1d.1/usb2/2-1 SUBSYSTEM=usb SEQNUM=1533 MAJOR=189 MINOR=131 DEVTYPE=usb_device PRODUCT=46d/c03e/2000 TYPE=0/0/0 BUSNUM=002 DEVNUM=004 This udev rule works as a replacement for usb_device class devices: SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \ NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644" Updated patch, which needs the device_type patches in Greg's tree. I also got a bugzilla assigned for this. :) https://bugzilla.novell.com/show_bug.cgi?id=250659 Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 87840289637e9ea95118ebd76e2e335fdcddd725 Author: Randy Dunlap Date: Wed Mar 21 13:57:51 2007 -0700 USB: gadget-storage needs BLOCK With CONFIG_BLOCK=n, this build error happens: WARNING: "bdev_read_only" [drivers/usb/gadget/g_file_storage.ko] undefined! Signed-off-by: Randy Dunlap Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 2add5229d77a3de08015feef437653e02372162f Author: Alan Stern Date: Tue Mar 20 14:59:39 2007 -0400 USB: add power/level sysfs attribute This patch (as874) adds another piece to the user-visible part of the USB autosuspend interface. The new power/level sysfs attribute allows users to force the device on (with autosuspend off), force the device to sleep (with autoresume off), or return to normal automatic operation. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 13f6be01db9ada144f28241f939f4f3f8ec8e40b Author: Peter Stokes Date: Sat Mar 17 16:14:12 2007 +0200 USB: ati_remote2: Add channel support Add logical channel support for ATI Remote Wonder II The ATI Remote Wonder II can be configured with one of 16 unique logical channels. Allowing up to 16 remotes to be used independently within range of each other. This change adds functionality to configure the receiver and filter the input data to respond or exclude remotes configured with different logical channels. Signed-off-by: Peter Stokes Acked-by: Ville Syrjala Signed-off-by: Greg Kroah-Hartman commit ebcf3ede6d84bf8aeff4378035d3fb312ede8dc9 Author: Oliver Neukum Date: Tue Mar 20 13:54:05 2007 +0100 USB: sierra close race the sierra driver does not directly use usb_kill_urb(). It uses a wrapper. This wrapper means that callbacks which are running are not killed during close, resubmitting and illicitly pushing data into the tty layer. The whole purpose of usb_kill_urb() is subverted. The wrapper must be removed. The same problem as the option driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 7d28e74b97c8eb859fd9f5eb018bb1c75627bd55 Author: Oliver Neukum Date: Tue Mar 20 13:41:21 2007 +0100 USB: option close race the option driver does not directly use usb_kill_urb(). It uses a wrapper. This wrapper means that callbacks which are running are not killed during close, resubmitting and illicitly pushing data into the tty layer. The whole purpose of usb_kill_urb() is subverted. The wrapper must be removed. Signed-off-by: Oliver Neukum Signed-off-by: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit 4f93b3e8212df43ff380e118aebb68f6d1e5b060 Author: Oliver Neukum Date: Tue Mar 20 13:15:05 2007 +0100 USB: omninet memory leak in error case memory allocated must be freed in the error case. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 0cef7727c953056bb3ef9852a79d9658a1d8df4e Author: Alan Stern Date: Mon Mar 19 15:33:11 2007 -0400 UHCI: Add some WARN_ON()s This patch (as872) adds some WARN_ON()s to various error checks which are never supposed to fail. Unsettlingly, one of them has shown up in a user's log! Maybe making the warning more visible and having the call-stack information available will help pinpoint the source of the problem. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 325b70c233396f0cfe15012682a5080bf8040901 Author: Oliver Neukum Date: Mon Mar 19 13:58:29 2007 +0100 USB: fix endianness in mos7720 there's code unclean w.r.t. endianness in the mos7720 driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 1b55fa2d430d6c708d3e5efbc6134be4a0c32b15 Author: Adrian Bunk Date: Mon Mar 19 10:26:32 2007 +0100 USB: gtco.c: fix a use-before-check NULL checks should be before the first dereference. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit f81ee4d52880b08c213982df5041217212689960 Author: Oliver Neukum Date: Mon Mar 19 11:39:13 2007 +0100 USB: iowarrior.c: fix NULL dereference Am Montag, 19. 2007 10:25 schrieb Adrian Bunk: > The Coverity checker spotted the following NULL dereference: And this fixes an oops upon allocation failures. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 686149f488e1912f29bcfc593fad4c18f0f75397 Author: Randy Dunlap Date: Fri Mar 16 18:33:13 2007 -0700 USB: dm9601: fix sparse NULL warnings Fix sparse NULL warnings: drivers/usb/net/dm9601.c:88:23: warning: Using plain integer as NULL pointer drivers/usb/net/dm9601.c:174:22: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Acked-by: Peter Korsgaard Signed-off-by: Greg Kroah-Hartman commit cb8eaa8b2b913387a9a1d3d8fe48edfc1595ba3e Author: Richard Knutsson Date: Sat Mar 17 01:35:53 2007 +0100 USB: io_edgeport: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Greg Kroah-Hartman commit 0de9a7024e7ae62512d080c7e2beb59d82958cd5 Author: Oliver Neukum Date: Fri Mar 16 20:28:28 2007 +0100 USB: overhaul of mos7840 driver This fixes: - breaking DMA rules about buffers - usage of _global_ variables to save a single device's attributes - racy access to urb->status - smp monotonity issue with statistics - use of one buffer for many simultaneous URBs - error handling introduced - several instances of following NULL pointers - use after free - unnecessary GFP_ATOMIC - GFP_KERNEL in interrupt - various cleanups - write room granularity issue that bit cdc-acm - race in shutdown Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 96c706ed1c46470598d785124b2a7fb233b27dab Author: Oliver Neukum Date: Thu Mar 15 15:27:17 2007 +0100 USB: io_edgeport race condition in counters io_edgeport is using a global variable without locking. This is _the_ classical race condition. This patch switches to atomic_t. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e198a31489146bb723fef179e5d1d18c8225f246 Author: Alan Stern Date: Thu Mar 15 15:54:30 2007 -0400 EHCI: add delay to bus_resume before accessing ports This patch (as870) adds a delay to ehci-hcd's bus_resume routine. Apparently there are controllers and/or BIOSes out there which need such a delay to get the ports back into their correct state. This fixes Bugzilla #8190. Signed-off-by: Alan Stern Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit eaafbc3a8adab16babe2c20e54ad3ba40d1fbbc9 Author: Alan Stern Date: Tue Mar 13 16:39:15 2007 -0400 USB: Allow autosuspend delay to equal 0 This patch (as867) adds an entry for the new power/autosuspend attribute in Documentation/ABI/testing, and it changes the behavior of the delay value. Now a delay of 0 means to autosuspend as soon as possible, and negative values will prevent autosuspend. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6b157c9bf3bace6eeb4a973da63923ef24995cce Author: Alan Stern Date: Tue Mar 13 16:37:30 2007 -0400 USB: separate autosuspend from external suspend This patch (as866) adds new entry points for external USB device suspend and resume requests, as opposed to internally-generated autosuspend or autoresume. It also changes the existing remote-wakeup code paths to use the new routines, since remote wakeup is not the same as autoresume. As part of the change, it turns out to be necessary to do remote wakeup of root hubs from a workqueue. We had been using khubd, but it does autoresume rather than an external resume. Using the ksuspend_usb_wq workqueue for this purpose seemed a logical choice. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 378465396e74aa6ef36271cecaea49eb742025a8 Author: Oliver Neukum Date: Wed Mar 14 15:23:56 2007 +0100 USB: help text for mos 7720 driver this driver's help text incorrectly claims to support only single port devices. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit fe4b65ec9127a336eeaa503f878062d9e6f44591 Author: Oliver Neukum Date: Wed Mar 14 15:22:25 2007 +0100 mos7720 update this driver has an interesting way of handling ENOMEM: complain and ignore. If you decide to live with allocation failures, you must 1. guard against URBs without corresponding buffers 2. complete allocation failures 3. always test entries for NULL before you follow the pointers This patch does so. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 7378c57a8d4cf36e2f2b389d96d0d85043bd1c17 Author: Christian Engelmayer Date: Mon Mar 12 09:08:36 2007 +0100 ehci-fsl: change SI_CTRL, PRI_CTRL register offsets according to errata Correct the offsets of the SI_CTRL, PRI_CTRL registers according to the Reference Manual errata sheet in order to prevent unwanted settings regarding burst transactions and priority states. Signed-off-by: Christian Engelmayer Signed-off-by: Greg Kroah-Hartman commit 1b42ae6d4355328dc4406b6f0188adcf8c566435 Author: Alan Stern Date: Tue Mar 13 11:10:52 2007 -0400 USB: fix race in HCD removal This patch (as865) fixes a race in the HCD removal code discovered by Milan Plzik. Arrival of an interrupt after the root hub was unregistered could cause the root-hub status timer to start up, even after it was supposed to have been shut down. The problem is fixed by moving the del_timer_sync() call to after the HCD's stop() method, at which time IRQ generation should be disabled. Cc: Milan Plzik Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 949be0f7be8de0c5a6a46626bd983f7a03a4b26e Author: Simon Arlott Date: Tue Mar 6 02:47:46 2007 -0800 USB: MAINTAINERS: cxacru I've acquired a second device for testing and plan to make some changes in the near future to export all the device stats to sysfs (based on my proposed patch to add them to the proc file ~2007-01-30). Signed-off-by: Simon Arlott Acked-by: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit fa70fe44aba95ce373d7bcd27df4a594b53dcbdc Author: Simon Arlott Date: Tue Mar 6 02:47:45 2007 -0800 USB: cxacru: export detailed device info through sysfs When the device is polled for status there is a lot of useful status information available that is ignored. This patch stores the device info array when the status is polled and adds sysfs files to the usb device to allow userspace to query it. Since the device updates its status internally once a second the poll time is changed to this, and round_jiffies_relative is used to avoid waking the cpu unnecessarily. Signed-off-by: Simon Arlott Cc: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e9b8daf31b459acb440647a651b1bda3b30e6188 Author: Simon Arlott Date: Tue Mar 6 02:47:43 2007 -0800 usbatm: create sysfs link "device" from atm class device to usb interface There is currently no path from the ATM device in /sys to the USB device's interface that the driver is using; this patch creates a "device" symlink. It is then possible to get to the cxacru ADSL statistics (http://lkml.org/lkml/2007/2/23/328): /sys/class/atm/cxacru0/device $ ls *_rate *_margin *_attenuation downstream_attenuation downstream_snr_margin upstream_rate downstream_rate upstream_attenuation upstream_snr_margin If this link is not appropriate I'd have to create device files in /sys/class/atm/cxacru0 instead - which seems less appropriate since the ADSL statistics are for the USB device not ATM (which is running over the ADSL). [akpm@linux-foundation.org: cleanups] Signed-off-by: Simon Arlott Cc: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c2cf3f6ec58cf1d9e2a92cd74506dcf2265b31a1 Author: Oliver Neukum Date: Tue Mar 6 16:21:22 2007 +0100 USB: unnecessary GFP_ATOMIC in mos7720 driver GFP_KERNEL will do. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 718efa64e30a5e9db0351d70c5a91969306a12d1 Author: Alan Stern Date: Fri Mar 9 15:41:13 2007 -0500 usbcore: move usb_autosuspend_work This patch (as864) moves the work routine for USB autosuspend from one source file to another. This permits the removal of one whole global symbol (!) and should smooth the way for more changes in the future. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 64e35d92367d8cd376946eb924838de1dd3287c7 Author: Pete Zaitcev Date: Thu Mar 8 20:02:26 2007 -0800 libusual: change block scope variable to function scope Someone changed the code to kthread and used his style instead of mine. The problem with the block variables is that they provoke shadowing, which is actually exactly what has happened in my other tree which has the class patch. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 643616e6780b26dd8c9cea0b9344bb5d7aeae29d Author: Pete Zaitcev Date: Thu Mar 8 19:56:23 2007 -0800 ub: Bind to first endpoint, not to last The usb-storage switched to binding to first endpoint recently. Apparently, there are devices out there with extra endpoints. It is perfectly legal. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit c4cabd28c73116716dcfd0d5f91414b48c0cf5ce Author: Oliver Neukum Date: Tue Feb 27 15:28:55 2007 +0100 USB: cdc-acm: export parsed capabilities through sysfs this patch exports the attributes cdc-acm knows about a device through sysfs. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit bb74782e621e988555354abba03812982236a3af Author: Oliver Neukum Date: Tue Feb 27 11:30:24 2007 +0100 USB: additional structure from cdc spec this adds another structure for CDC devices to cdc.h. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit f1c9e30b5e4cdd8aae5f0ea87004b1b61ec41881 Author: Pete Zaitcev Date: Sat Feb 24 19:27:33 2007 -0800 usbmon: Extended text API This patch adds a new text API, codenamed '1u', which captures more URB fields than old '1t' interface did. Also the '1u' text API is compatible with the future "bus zero" extension. Signed-off-by: Pete Zaitcev Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 2e85c91e2e0f4e58fb54354bb7f6cc7dd3466dd9 Author: Oliver Neukum Date: Mon Mar 5 15:11:14 2007 +0100 USB: kill BKL in usblcd this patch removes usage of BKL from usblcd, which got it from the old skeleton driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 5d9b89b33f3ed19479dc5240986b0fedda08b82c Author: Oliver Neukum Date: Thu Mar 1 23:07:32 2007 +0100 USB: kill BKL in skeleton driver Iet's kill BKL where we can. This is relative to the last patch to the skeleton driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit ba35e02bdcbd3a25238421a7e20efdb69436d3cf Author: Oliver Neukum Date: Thu Mar 1 14:31:02 2007 +0100 USB: fix skeleton driver compilation of the skeleton driver is currently broken. It doesn't compile. So while I am it: - fix typo - add comments to answer common questions - actually allow autosuspend in the driver struct - increase paralellism by restricting code under locks Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 08a78cbb410032a025e0323bcfb12b348fc7a389 Author: Milan Svoboda Date: Tue Feb 27 09:20:09 2007 +0000 USB: pxa2xx_udc: fix hardcoded irq number This patch changes last use of hardcoded number of irq to use platfrom_get_irq. Signed-off-by: Milan Svoboda Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 34ebcd28235dc58633eeb8f7ca603838af23df0d Author: David Brownell Date: Sat Feb 24 12:23:52 2007 -0800 pxa2xx_udc: cleanups, use platform_get_irq Make the pxa2xx_udc driver fetch its IRQ from platform resources rather than using compile-time constants, so that it works properly on IXP4xx systems not just PXA21x/25x/26x. Other updates: - Do that using platform_get_irq() - Switch to platform_driver_probe() - Handle device_add() errors - Remove "function" sysfs attribute and its potential errors - Whitespace cleanups Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c51e9749ab49c5fa6c9cc1cb96bb5f36a571f553 Author: Norihiko Tomiyama Date: Thu Apr 5 10:05:40 2007 +0900 Adding PID of SHARP S01SH for ipaq.c I write a patch adding support "SHARP EMONE(S01SH)" device for ipaq.c. EMONE is a PDA with built-in HSDPA function. From: Norihiko Tomiyama Signed-off-by: Greg Kroah-Hartman commit d868772fff6c4b881d66af8640251714e1aefa98 Merge: a205752... 404d5b1... Author: Linus Torvalds Date: Fri Apr 27 12:58:54 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: (46 commits) dev_dbg: check dev_dbg() arguments drivers/base/attribute_container.c: use mutex instead of binary semaphore mod_sysfs_setup() doesn't return errno when kobject_add_dir() failure occurs s2ram: add arch irq disable/enable hooks define platform wakeup hook, use in pci_enable_wake() security: prevent permission checking of file removal via sysfs_remove_group() device_schedule_callback() needs a module reference s390: cio: Delay uevents for subchannels sysfs: bin.c printk fix Driver core: use mutex instead of semaphore in DMA pool handler driver core: bus_add_driver should return an error if no bus debugfs: Add debugfs_create_u64() the overdue removal of the mount/umount uevents kobject: Comment and warning fixes to kobject.c Driver core: warn when userspace writes to the uevent file in a non-supported way Driver core: make uevent-environment available in uevent-file kobject core: remove rwsem from struct subsystem qeth: Remove usage of subsys.rwsem PHY: remove rwsem use from phy core IEEE1394: remove rwsem use from ieee1394 core ... commit d455cf5d0db9e3eb1b204cd4a61d8c5ccfe4305f Author: Douglas Landgraf Date: Thu Apr 26 16:44:55 2007 -0300 V4L/DVB (5563): Radio-maestro.c Replace radio_ioctl to use video_ioctl2 Convert radio-maestro to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6f66446c5465c0d29f8805ef47810f4a72842e5c Author: Douglas Landgraf Date: Thu Apr 26 10:42:12 2007 -0300 V4L/DVB (5562): Radio-gemtek-pci.c Replace gemtek_pci_ioctl to use video_ioctl2 Convert radio-gemtek-pci to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 018ba85bf6d77eefc67796d707c81e8531b74d2f Author: Hans Verkuil Date: Tue Apr 10 18:59:09 2007 -0300 V4L/DVB (5560): Ivtv: fix incorrect bitwise-and for command flags. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 86534e5e8eaeab2f5d2e92cff5e16980750095c6 Author: Marco Gittler Date: Mon Apr 23 17:52:58 2007 -0300 V4L/DVB (5558): Opera: use 7-bit i2c addresses - the tuner i2c addr now without define (as wanted). - now 7 bit addr are used (the power_ctrl fkt ist ok so, because this is a raw write) - the addr >> 1 , addr << 1 is ok so, i think beause the read write is now taken from the last bit. - now i have no datasheet for the device, all taken from usb-logs Signed-off-by: Marco Gittler Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 12df2f54e5522d89b3de6df62a800a0edeb10dcc Author: Trent Piepho Date: Wed Apr 25 00:20:13 2007 -0300 V4L/DVB (5557): Cafe_ccic: check return value of pci_enable_device Remove warnings Signed-off-by: Trent Piepho Acked-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit e9bb9c643924aee08f2a6b353174361ab567e436 Author: Douglas Landgraf Date: Wed Apr 25 00:15:46 2007 -0300 V4L/DVB (5556): Radio-gemtek.c Replace gemtek_ioctl to use video_ioctl2 Convert radio-gemtek to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 385e8d8fc6a3b5d0a656d69fc11cc6e26d9512cf Author: Douglas Landgraf Date: Wed Apr 25 00:14:36 2007 -0300 V4L/DVB (5555): Radio-aimslab.c Replace rt_ioctl to use video_ioctl2 Convert radio-aimslab to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 2aa2342f2ba7caac0c5ed08331e883b7a72da2dd Author: Mauro Carvalho Chehab Date: Tue Apr 24 13:40:07 2007 -0300 V4L/DVB (5554): Fix: vidioc_g_parm were not zeroing the memory Signed-off-by: Mauro Carvalho Chehab commit 3f6892aca5d23730a747ce88eb0b6848e7a52a2f Author: Douglas Landgraf Date: Tue Apr 24 08:40:06 2007 -0300 V4L/DVB (5553): Replace typhoon_do_ioctl to use video_ioctl2 Convert radio-typhoon to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 74ea1c7a7e7b5dfe961f3ed08365f9deb899b163 Author: Alan Cox Date: Mon Apr 23 17:57:28 2007 -0300 V4L/DVB (5552): Plan-b: Switch to refcounting PCI API Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit 8ca966d7fdfa44f5ffbc2aac6b65e5aa5482123b Author: Alan Cox Date: Mon Apr 23 17:57:22 2007 -0300 V4L/DVB (5551): Plan-b: header change Signed-off-by: Alan Cox Signed-off-by: Mauro Carvalho Chehab commit c123b867713425f8db060b5e29201a1056c45d90 Author: Douglas Landgraf Date: Mon Apr 23 17:52:12 2007 -0300 V4L/DVB (5550): Radio-sf16fmi.c Replace fmi_do_ioctl to use video_ioctl2 Convert radio-sf16fmi to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 34ab962db8765a494072908e2dd5bf1478ac070d Author: Douglas Landgraf Date: Mon Apr 23 17:51:37 2007 -0300 V4L/DVB (5549): Radio-sf16fmr2.c Replace fmr2_do_ioctl to use video_ioctl2 Convert radio-sf16fmr2 to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 288bb0e79015d4121d4ccf77a4db2bde27a49492 Author: Luc Saillard Date: Sun Apr 22 23:55:10 2007 -0300 V4L/DVB (5548): Fix v4l2 buffer to the length Set the length of the v4l2 buffer to the length of the mapped memory. This should fix the problem with amsn. Signed-off-by: Mauro Carvalho Chehab commit 9ee6d78cd4112c0f5a257a01383c64dadbf66da9 Author: Luc Saillard Date: Sun Apr 22 23:54:36 2007 -0300 V4L/DVB (5547): Add ENUM_FRAMESIZES and ENUM_FRAMEINTERVALS ioctls This patch add support for the VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS ioctl. * check if the maximum native framesize for raw mode is correct * raw mode framerates for all three chipset types Signed-off-by: Gregor Jasny Signed-off-by: Luc Saillard Signed-off-by: Mauro Carvalho Chehab commit 1de69238111a65283a4548d8fd4727397873a02f Author: Douglas Landgraf Date: Sun Apr 22 23:15:47 2007 -0300 V4L/DVB (5546): Radio-terratec.c Replace tt_do_ioctl to use video_ioctl2 Convert radio-terratec to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 2970c49270be2a62b1115f73bbfc0b8d3b3f48ba Author: Hartmut Birr Date: Sun Apr 22 06:57:26 2007 -0300 V4L/DVB (5545): Saa7146: Release capture buffers on device close If the video device (saa7146 on a FF card) was open for capturing, the close call didn't release the capture buffers. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit dc120b0734fcc6a4c42c73790a02f2fa74a7a326 Author: Hartmut Birr Date: Sat Apr 21 19:44:10 2007 -0300 V4L/DVB (5544): Budget-av: Make inversion setting configurable, add KNC ONE V1.0 card Make the inversion setting configurable. The KNC ONE V1.0 uses non inverted setting for the inversion and add the KNC ONE V1.0 card. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit aa323ac89c5724de89656fcf31590d19e74594ec Author: Hartmut Birr Date: Sat Apr 21 19:37:17 2007 -0300 V4L/DVB (5543): Tda10023: Add support for frontend TDA10023 Add support for the frontend TDA10023 and add cards that need the tda10023. Signed-off-by: Hartmut Birr Signed-off-by: Georg Acher Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit fd9c66e269a44bd3c6c615957c79b21f3dde69af Author: Hartmut Birr Date: Sat Apr 21 19:17:49 2007 -0300 V4L/DVB (5542): Budget-av: Remove polarity switching of the clock for DVB-C Remove the polarity switching of the clock for the DVB-C cards in budget-av.c. This hack is no longer necessary because the saa7146 can do the job to remove the additional FEC bytes from the TS. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit a1314b1ab61027ac803b0899ead1ce1229d46a37 Author: Douglas Landgraf Date: Fri Apr 20 18:23:38 2007 -0300 V4L/DVB (5541): Radio-zoltrix.c Replace zol_do_ioctl to use video_ioctl2 Convert radio-zoltrix to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit c5f822bf60b174c52d6d491d631d205384a2d1ca Author: Douglas Landgraf Date: Fri Apr 20 18:22:19 2007 -0300 V4L/DVB (5540): Radio-trust.c Replace tr_do_ioctl to use video_ioctl2 Convert radio-trust to use video ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8b811cf0c618915b286b5f829a77349a200b814c Author: Douglas Landgraf Date: Fri Apr 20 06:37:36 2007 -0300 V4L/DVB (5539): Radio-rtrack2.c Added VIDIOC_[GS]_AUDIO and VIDIOC_[S|G]_INPUT Implements VIDIOC_[GS]_AUDIO and VIDIOC_[S|G]_INPUT on radio-rtrack2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ec709bb801a98dcac0a95c060c431eda73e31587 Author: Thierry MERLE Date: Tue Apr 17 02:28:32 2007 -0300 V4L/DVB (5530): Usbvision: remove CustomDevice facility usbvision has a module parameter that ables the user to add a new USB entry at driver load. This functionality is useless by experience (adding statically the entry is easy). Furthermore, the USB_DEVICE(0xfff0, 0xfff0) USB entry caused usbvision_probe to be called for all unclaimed devices. Signed-off-by: Thierry MERLE Acked-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit 25f30389dd84dcaf54d7d76fdd84e85bec206db6 Author: Douglas Landgraf Date: Thu Apr 19 16:42:25 2007 -0300 V4L/DVB (5534): Radio-rtrack2.c Replace rt_ioctl to use video_ioctl2 Convert radio-rtrack2 to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 941491f3a52c34506137060716ce73e642ee326e Author: Marco Gittler Date: Thu Apr 19 11:26:47 2007 -0300 V4L/DVB (5532): Add support for Opera S1- DVB-USB This patch adds support for DVB-Opera S1 USB 2.0 BOX. Signed-off-by: Marco Gittler Signed-off-by: Mauro Carvalho Chehab commit 6284feafcf589103f4a85d98d305e7a9d98970d3 Author: Thierry MERLE Date: Mon Apr 16 17:47:08 2007 -0300 V4L/DVB (5529): Usbvision: remove not needed TUNER_SET_TYPE_ADDR call usbvision_i2c: remove TUNER_SET_TYPE_ADDR call in attach_inform since it is done by tuner_core. Acked-by: Dwaine Garden Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit bf8b20e190f9878978117e39e9a4e493a2e9d6bd Author: Thierry MERLE Date: Mon Apr 16 18:00:49 2007 -0300 V4L/DVB (5528): Usbvision: reverting some i2c cleanups usbvision-i2c.c: reverting some i2c cleanups in order to recover a safe state. Acked-by: Dwaine Garden Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit c42cabefce5a333d8158434f902117d8c8dfd3b0 Author: vignesh.babu@wipro.com Date: Mon Apr 16 10:34:33 2007 -0300 V4L/DVB (5526): Cx88-alsa.c: Use kzalloc Replacing kmalloc/memset combination with kzalloc. Signed-off-by: vignesh babu Signed-off-by: Mauro Carvalho Chehab commit 3153bd91bfe14b6b93aef5b6b7c9fc279eec60d9 Author: Trent Piepho Date: Sun Apr 15 10:09:56 2007 -0300 V4L/DVB (5525): Usbvision: fix confusion over 7-bit vs 8-bit TDDA9887 addresses The code was testing an 8-bit address against a 7-bit address. Will the confusion of the two never cease? Biggest flaw of the I2C protocol: the R/W bit is the LSB instead of the MSB. No one can ever agree if addresses are 7-bits and the R/W bit follows them, or if they are 8-bit and the R/W bit is OR-ed into the address byte. If the R/W bit was first, it wouldn't make any difference! Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 66ab6e023ebbb362b7cf42c8f56cc54a85fb7bb0 Author: Akinobu Mita Date: Sat Apr 14 10:24:15 2007 -0300 V4L/DVB (5513): Bt878: prevent probing wrong card entry I got strange message when I did modprobe bt878: bt878_probe: card id=[0x0],[ ] has DVB functions. The card_list array is terminated by sentinel entry. But this list is traversed by: for (i = 0, dvb_cards = card_list; i < ARRAY_SIZE(card_list); i++, dvb_cards++) { ... } in bt878_probe(). So this loop checks dummy sentinel entry, too. This patch removes unnecessary sentinel entry. Signed-off-by: Akinobu Mita Signed-off-by: Mauro Carvalho Chehab commit f2c340583c27f2f93ed1c720ae863ea601e1d74a Author: Thierry MERLE Date: Sun Apr 15 04:29:13 2007 -0300 V4L/DVB (5524): Usbvision: fix TDA9887 detection - Adding 0x86 as possible I2C addresses for TDA9887 to call TUNER_SET_TYPE_ADDR. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 672d013bed5e144ac641db343251e35d3212c9ad Author: Thierry MERLE Date: Sat Apr 14 17:53:55 2007 -0300 V4L/DVB (5523): Usbvision: fix a debug message in usb probe function - change a printk to PDEBUG when USB probe detects an unknown device. This will avoid a message log from usbvision when an unclaimed device is inserted. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 1ff16c2091a557f8080eb62c087465a87e4330e9 Author: Thierry MERLE Date: Sat Apr 14 16:23:49 2007 -0300 V4L/DVB (5522): Usbvision: i2c function cleanups usbvision-i2c function renamings, code cleanup Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit d3df9c4fa13db14cb9f6cd4cf31bd2a61c0e9911 Author: Mauro Carvalho Chehab Date: Sat Apr 14 16:19:13 2007 -0300 V4L/DVB (5521): Usb_get_dev were called twice. Removing the extra call. Signed-off-by: Mauro Carvalho Chehab commit 28aedb8fd95b9a11cb9dc75d3be1f30227cb4385 Author: Ville-Pekka Vainio Date: Sat Apr 14 15:38:23 2007 -0300 V4L/DVB (5520): Add support for the extra keys in the black Technotrend 1500 IR It has come to my knowledge that the Technotrend 1500 DVB cards have been sold bundled with at least two different kinds of remotes, a grey one and a black one. This patch adds support for the extra keys in the black remote to ir-keymaps.c. Signed-off-by: Ville-Pekka Vainio Signed-off-by: Mauro Carvalho Chehab commit f8a389db502f7b287903b209f925df5570ff5478 Author: Mauro Carvalho Chehab Date: Sat Apr 14 15:17:35 2007 -0300 V4L/DVB (5518): Fix a bug on device detection Thanks to: Thierry MERLE for pointing this Signed-off-by: Mauro Carvalho Chehab commit c682b3a7fb8ec69ac73511bbb6a378e40aa35f35 Author: Trent Piepho Date: Sat Apr 14 15:16:26 2007 -0300 V4L/DVB (5517): Usbvision: store the device database more efficiently One bit wide bitfields need to declared unsigned to have the range 0 to 1, or they have the range -1 to 0. A few techniques to reduce the driver's size by about 1700 bytes on ia32, probably more on x86-64. Put the biggest fields first, less padding is necessary that way. Put fields with a limited range into a smaller type. For example VideoChannels will fit in 3 bits, and TunerType can use 8 bits. Vin_Reg1, Vin_Reg2, and Dvi_yuv define values for 8-bit registers, but they can't just go into an 8-bit field with no changes, since -1 was used as a flag to indicate a value was not present. So what we do is create a one-bit flag for each one to indicate if a value is or is not present. This only takes 9 bits and has the added advantage that when the register isn't overridden (Vin_Reg[12] never are) it doesn't need to appear in the structure definition since the default value for the flag will be zero. Signed-off-by: Trent Piepho Acked-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f7ca6256bc1db4fb44adda99e082f8c80ada8957 Author: Mauro Carvalho Chehab Date: Sat Apr 14 15:15:43 2007 -0300 V4L/DVB (5516): Reduce usbvision data size This patch reduces usbvision driver on about 1Kb on i386 over the original version with the old struct: text data bss dec hex filename 52312 11848 60 64220 fadc old/usbvision.ko 52474 10708 60 63242 f70a new/usbvision.ko Acked-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 659ae56dcd5a50e4560cb526a0e0dc881418dad4 Author: Mauro Carvalho Chehab Date: Sat Apr 14 15:09:59 2007 -0300 V4L/DVB (5515): Use a better format to represent usbvision supported boards Changed usbvision cards table to allow: 1) Not repeat USB ID on two structs; 2) Not need to specify both usb and card description tables at the same order, removing some magic; Some cards had duplicated names. Fixed. A test for an specific board were doing by using a string comparation. The comparation were wrong. Also, it is not a good practice to recognize a board based on his string name. Acked-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 2c4d336468b400f9a47d6c1785d230548b89ca24 Author: Markus Rechberger Date: Sat Apr 14 10:19:36 2007 -0300 V4L/DVB (5512): Fix 3/3 for bug 7819: fixed hotplugging for dvbnet fixed hotplugging for dvbnet Signed-off-by: Michal CIJOML Semler Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit 57861b432bda77f8bfafda2fb6f5a922d5f3aef1 Author: Markus Rechberger Date: Sat Apr 14 10:19:18 2007 -0300 V4L/DVB (5511): Fix 2/3 for bug 7819: demux and dvr fixing hotplug issue for demux[n] and dvr[n] Signed-off-by: Michal CIJOML Semler Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit ca5be9cd0516629cb8ee335b7dad076e66d72a22 Author: Markus Rechberger Date: Sat Apr 14 10:18:58 2007 -0300 V4L/DVB (5510): Fix 1/3 for bug 7819: fixed frontend hotplug issue fixed frontend hotplug issue Signed-off-by: Michal CIJOML Semler Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit 31a1854706707dc3b67eb0d3bf0f51c67d91c82e Author: Mike Isely Date: Sun Apr 8 01:11:47 2007 -0300 V4L/DVB (5507): Pvrusb2: Gather USB bus address info and report it The V4L2 API requires a unique bus_info string returned as part of the v4l2_capability structure. These changes gather up the USB address information, from the underlying device, into a string and report that out through v4l2 and via sysfs (for completeness). Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4f210e072235c3c123b068d348a1a02e624ff5be Author: Hendrik Borghorst Date: Thu Apr 5 14:28:11 2007 -0300 V4L/DVB (5505): Fix Kernel Bugzilla #8301: spinlock fix for flexcop-pci If you modprobe the b2c2-flexcop-pci module you got a hardlock of your system. This is due the usage of spin_lock before spin_lock_init is called. Signed-off-by: Mauro Carvalho Chehab commit 990e3743b505a0bb08c04a381d5477e19d31ef5e Author: Trent Piepho Date: Wed Apr 4 17:11:06 2007 -0300 V4L/DVB (5504): Sn9c102: Make driver V4L2 not V4L1 sn9c102 is a v4l2 driver, except it used a couple v4l1 helper functions. Stop using those functions and depend on V4L2 in Kconfig. Acked-by: Luca Risolia Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 7e81d8254d4f00817b98588fce1afb448ccc14a9 Author: Trent Piepho Date: Wed Apr 4 17:11:05 2007 -0300 V4L/DVB (5503): Sn9c102: declare constant byte sequences as static const Makes sure they don't get copied onto the stack. Signed-off-by: Trent Piepho Acked-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit c680dd603857d7218b84751e9f6f0654bbfbefa2 Author: Trent Piepho Date: Wed Apr 4 17:11:04 2007 -0300 V4L/DVB (5502): Sn9c102: more efficient register writing code There were many places in the driver which had long sequences of constant register initializations. These were done with one function call per register. The register address and value were immediate values in the function calls. This is very inefficient, as each register and value take twice the space when they are code, as each includes a push instruction to put it on the stack. There there is the overhead, both size and time, for a function call for each register. It's also quite a few lines of C code to do this. The patch creates a function that writes multiple registers from a list, and a macro that makes it easy to construct a such a list as a const static local to send to the function. This gets rid of quite a bit of C code, and shrinks the driver by around 8k, while at the same time being more efficient. Acked-by: Luca Risolia Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 0ee32871c18a3662d8958a8e9998eb4d2ae94159 Author: Mauro Carvalho Chehab Date: Tue Apr 3 18:08:19 2007 -0300 V4L/DVB (5500): Add a CARDLIST for the supported devices by usbvision driver Signed-off-by: Mauro Carvalho Chehab commit 1ebba670edac28d4ea37579453417ced71fd9128 Author: Scott Alfter Date: Mon Apr 2 14:22:39 2007 -0300 V4L/DVB (5497): Additional card support for bttv driver SSAI (www.ssai.us) makes several Bt878-based capture cards that get used in our surveillance, conferencing, and medical imaging systems. The attached relatively small patch adds support for these cards, which fall into two broad * boards with one or more Bt878s, one or more composite inputs, and no S-video or tuner inputs * boards with one Bt878, one composite input, one S-video input, and no tuner input Signed-off-by: Scott Alfter Signed-off-by: Mauro Carvalho Chehab commit 4b9d4e7dba102c8ab5ef651e538e9d0c79c80cab Author: Trent Piepho Date: Sun Apr 1 18:29:04 2007 -0300 V4L/DVB (5494): Lgdt330x: Fix some warnings It's KERN_WARNING "lgdt....", not "KERN_WARNING lgdt...." Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 82c2e4617c28f1e64ecbbeb7a2325f79c80a5aa9 Author: Jean Delvare Date: Sat Mar 31 10:35:24 2007 -0300 V4L/DVB (5492): Remove useless includes of i2c-algo-bit.h The tda7432, tda9875 and tvaudio media drivers don't need to include the linux/i2c-algo-bit.h header file. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit e8f4e7525c6ba52d97bb057420163b4c704c6d10 Author: Jean Delvare Date: Sat Mar 31 10:34:59 2007 -0300 V4L/DVB (5491): Cx88: Support the DTV1000 T analog inputs Add support for the S-Video and CVBS (composite) analog video inputs of the Leadtek WinFast DTV1000 T adapter. Signed-off-by: Jean Delvare Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fd51c697dd6111ee4260d8c752ba4d09dc614c3f Author: Amit Choudhary Date: Fri Mar 30 17:48:59 2007 -0300 V4L/DVB (5490): Drivers/media/video/se401.c: check kmalloc() return value. Check the return value of kmalloc() in function se401_start_stream(), in file drivers/media/video/se401.c. Signed-off-by: Amit Choudhary Signed-off-by: Mauro Carvalho Chehab commit 20ec811eddb362f821c6fd57e5449f3ddb80b466 Author: Amit Choudhary Date: Fri Mar 30 17:34:14 2007 -0300 V4L/DVB (5489): Codec.c: check kmalloc() return value. Signed-off-by: Amit Choudhary Signed-off-by: Mauro Carvalho Chehab commit aaa40cb8b7056b597fa77c9f61a1b271c0e341cf Author: Mauro Carvalho Chehab Date: Fri Mar 30 10:58:01 2007 -0300 V4L/DVB (5488): Replace DMA magic mask for its aliases Signed-off-by: Mauro Carvalho Chehab commit 904ab884a25fbaebe5d76d633d1c30c9f2a7c0aa Author: Ed Vipas Date: Thu Mar 29 18:32:49 2007 -0300 V4L/DVB (5486): Add support for remote of Asustech P7131 Hybrid LNA This patch just defines the remote control type. Signed-off-by: Ed Vipas Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 9971f4f1d3d71a5b6654ba226976ba82d2e047a4 Author: Hartmut Hackmann Date: Fri Mar 23 21:00:07 2007 -0300 V4L/DVB (5485): Tda827x: delayed probing of tuner version When the tuner is attached, the tda10046 is not initilized yet, so it is searching for its firmware. If the tuner is attached to the tda10046 silent i2c port, a bus collision can occur. Now the version is probed during the first init or sleep call. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit e65ec752ced103eb86e5f9c1f747f06d3e266780 Author: Hartmut Hackmann Date: Thu Mar 22 20:58:43 2007 -0300 V4L/DVB (5484): Set tda8290 to analog mode after init Set tda8290 to analog mode after init, otherwise the tuner driver will not accept i.e. the standby command. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit f992a497c71981e215b1415759fc13593ed2919f Author: Jarod Wilson Date: Sat Mar 24 15:23:50 2007 -0300 V4L/DVB (5482): Bttv: automatically load dvb-bt8xx for bttv cards with dvb This patch causes the bttv driver to automatically load the dvb-bt8xx module for bttv/dvb hybrid cards. Successfully tested with a pcHDTV HD-2000 card. This patch is based on the recent patches to enable autoloading of cx88-dvb, cx88-blackbird and saa7134-dvb. Signed-off-by: Jarod Wilson Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fbc8408a0d9deeba8926e041db0bb1ef7f1b2cd6 Author: Damian Minkov Date: Thu Mar 29 08:47:39 2007 -0300 V4L/DVB (5481): Fix audio input for AverTv Go 007 Fix audio input source for capturing(playing) audio on AverTv Go 007 cards. Signed-off-by: Damian Minkov Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 66623a0419da2bae2efab40a46018faacce2e3aa Author: Mauro Carvalho Chehab Date: Thu Mar 29 08:47:04 2007 -0300 V4L/DVB (5480): Fix cx88_print_irqbits calls to use ARRAY_SIZE cx88_print_irqbits were expecting a string pointer with 32 bytes. Better to pass the string size and use ARRAY_SIZE on its calls. Signed-off-by: Mauro Carvalho Chehab commit 53c4e9551c2930767fcdaa54323616c32ed6e9c6 Author: Mauro Carvalho Chehab Date: Thu Mar 29 08:42:30 2007 -0300 V4L/DVB (5479): Use ARRAY_SIZE instead of a magic number Signed-off-by: Mauro Carvalho Chehab commit 5b9c4e6dbb3204568d4c058af6e34772393ada19 Author: Mauro Carvalho Chehab Date: Wed Mar 28 22:37:26 2007 -0300 V4L/DVB (5478): Use ARRAY_SIZE and a cleaner logic for initializing tuner ATI HDTV Wonder needs to initialize some registers before allowing the tuner to start working. The current logic have lots of magic. This patch makes the code cleaner, using ARRAY_SIZE() for the initialization array and using a bidimensional array, instead of doing some stuff like: &buffer[i+2] Signed-off-by: Mauro Carvalho Chehab commit c1d570385bd6dd5fe4c0cab09b1c390331111b35 Author: Mauro Carvalho Chehab Date: Wed Mar 28 22:37:23 2007 -0300 V4L/DVB (5477): CodingStyle cleanups on for loops at bttv-cards.c Signed-off-by: Mauro Carvalho Chehab commit 57747b7f2517524aed5f0c5b744badf9da94a91b Author: Mauro Carvalho Chehab Date: Wed Mar 28 22:37:20 2007 -0300 V4L/DVB (5476): Fix gpiomux array size there were several "magic" for loops, addressing gpiomux array size (4). Adrian Bunk showed that one of the loops were wrong, going from 0 to 4. This patch provides the right fix for this trouble, by using ARRAY_SIZE on all places where we have a for loop using gpiomux. Thanks to: Adrian Bunk for pointing me about this trouble. Signed-off-by: Mauro Carvalho Chehab commit f423b9a86a6dd3d2bc08d78f4d21525a14c40a6b Author: Luca Risolia Date: Mon Mar 26 16:12:04 2007 -0300 V4L/DVB (5474): SN9C1xx driver updates @ Don't assume that SOF headers can't cross packets boundaries @ Fix compression quality selection + Add support for MI-0360 image sensor * Documentation updates @ Fix sysfs @ MI0343 rewritten * HV7131R color fixes and add new ABLC control * Rename the archive from "sn9c102" to "sn9c1xx" * fix typos * better support for TAS5110D @ fix OV7630 wrong colors @ Don't return an error if no input buffers are enqueued yet on VIDIOC_STREAMON * Add informations about colorspaces * More appropriate error codes in case of failure of some system calls * More precise hardware detection * Add more informations about supported hardware in the documentation + More supported devices + Add support for HV7131R image sensor Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 9ab7e323af9f9efad3e20a14faa4d947adfac381 Author: Adrian Bunk Date: Sun Mar 25 12:14:38 2007 -0300 V4L/DVB (5471): Cpia_pp.c: convert to module_{init,exit} After looking at a section bug (in the non-modular case, clearly non-init code referenced the __initdata parport_nr[]), I thought it was time to convert this driver to module_{init,exit}. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 585553ecedabf434e5cdc59d05bf64596ceab7bc Author: Jonathan Corbet Date: Sun Mar 25 11:38:21 2007 -0300 V4L/DVB (5469): Add raw bayer support to the ov7670 driver Add raw bayer support to the ov7670 driver Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 77d5140fe78ca628bfc9d2567c35457481f9c63d Author: Jonathan Corbet Date: Thu Mar 22 19:44:17 2007 -0300 V4L/DVB (5469a): Copyright and maintainer tweaks Fix up Cafe/ov7670 copyrights and maintainer entries Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 7f7b12f09be8e396d159800baeaf922df46e25cf Author: Jonathan Corbet Date: Sun Mar 25 11:36:42 2007 -0300 V4L/DVB (5468): Don't mirror ov7670 images by default Don't mirror ov7670 images by default. The ov7670 sensor driver sets the mirror bit by default, which is not the desired mode. OLPC has been running with this patch for a while. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit ff68defa08376b6c0482b249b7dfd35241861bce Author: Jonathan Corbet Date: Sun Mar 25 11:36:28 2007 -0300 V4L/DVB (5467): Add suspend/resume support to the Cafe CCIC Add suspend/resume support to the Cafe CCIC driver. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 5b50ed7ca2432e7ea3caf8cc2ef5ac805c082519 Author: Jonathan Corbet Date: Fri Apr 27 12:32:28 2007 -0300 V4L/DVB (5466): Fix up some Cafe CCIC delay issues Fix up unsociable Cafe CCIC delays. The Cafe CCIC driver contains some lengthy delays, some of which are unnecessary and some of which are done under lock. Some were marked with comments, but the comments somehow failed to make the issue go away. So fix it for real. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 76f4a12000254d460e947d2a95ab422ee6e598bf Author: Jonathan Corbet Date: Sun Mar 25 11:36:02 2007 -0300 V4L/DVB (5465): Remove an obsolete PCI ID Remove an obsolete PCI ID. The CAFE driver includes three PCI IDs, one of which corresponds to a development board which is no longer in use. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 018cfd51f682876fec682a33819964c1d6ed6794 Author: Jonathan Corbet Date: Sun Mar 25 11:35:56 2007 -0300 V4L/DVB (5464): Set the PCI device in the V4L2 device Set the PCI dev in the V4L2 dev so that the proper sysfs link gets made Signed-off-by: Jonathan Corbet Signed-off-by: Dan Williams Signed-off-by: Mauro Carvalho Chehab commit 6b1ce3c1017adce52675ec72825f0b052a6af5d4 Author: Mauro Carvalho Chehab Date: Wed Mar 21 16:35:28 2007 -0300 V4L/DVB (5462): Add Logitech ViewPort AV 100 Logitech ViewPort AV 100 has the same internals as Cisco VT Camera. Fixing Pwc driver to handle it properly. Also, fixed the comments for both cameras. Thanks to Martin Rubli for pointing me this. Signed-off-by: Mauro Carvalho Chehab commit a63e157fc6147ae9792325cb55fa0c6d1d0f9905 Author: Jean Tourrilhes Date: Wed Mar 21 16:29:16 2007 -0300 V4L/DVB (5461): Pwc: cisco VT Camera support I have a Cisco VT Camera, and it was just collecting dust. I decided to try connecting it to my Linux box at home. Just a disgression about the product. The Cisco VT Camera is a webcam Cisco sold to work with their IP phone hardware and software. It's mostly useless on Windows, as it interfaces only to Cisco software. You can find some for cheap on eBay... Physically, it's just a Logitech Pro 4000. The only difference with the Pro 4000 is the Cisco logo and that it's grey like the Pro 3000. I believe Cisco is now selling the Cisco VT Camera II, which look to be something else... So, assuming that it was a Pro 4000 inside, I created the little patch attached. I'm new to webcam under Linux, but I managed to get an image from it using xawtv, and the image looked all right, so I consider that a success. The imaged seemed a bit small and I could not get the microphone driver loaded, but I assume it's my lack of experience. Note that I did not try any other type_id, but this one works great. Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit d4ca23b188d458ef508649a0c6866937b48d4bf8 Author: Pierre Willenbrock Date: Sun Mar 18 19:54:07 2007 -0300 V4L/DVB (5459): M920x: add support for Anubis Electronics / MSI Digi Vox Mini II Add support for Anubis Electronics "Lifeview" (USB-ID: 0x10fd:0x1513) Signed-off-by: Pierre Willenbrock Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 08cdf94c076121cd0214ef9ea18ae3fbb9ace684 Author: Hartmut Hackmann Date: Sun Mar 18 19:23:20 2007 -0300 V4L/DVB (5458): Tda1004x: add ts_mode option to config struct The struct tda1004x_config has a new entry: .ts_mode Possible values are TDA10046_TS_PARALLEL or TDA10046_TS_SERIAL There always is only one interface active, default is parallel. Signed-off-by: Hartmut Hackmann Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d519dcf61ed55bcfb947a31122cea068a73ad974 Author: Trent Piepho Date: Mon Mar 19 02:24:09 2007 -0300 V4L/DVB (5457): Dvb-pll: Replace sleep function with a more capable one The dvb-pll sleep function could only send a 2-byte sequence to the PLL. This isn't enough in some cases, for example fmd1216me will need to send a 4-byte command to set both BB and AB to the correct values. Instead of using a fake band with a frequency of 0 to store the sleep data (which has room for only two bytes), the new sleep function works like the init function. A new pointer is added to the pll description, and when non-NULL points to a buffer with the length and data to send. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit df78cb0a1870703b7622fe8c63e5bcb6563197fd Author: Trent Piepho Date: Mon Mar 19 02:24:04 2007 -0300 V4L/DVB (5456): Dvb-pll: Move IF frequency from per-band data to per-tuner data The IF frequency was specified for each band, but it's not something that changes from band to band. None of the tuner definitions had a different IF frequency (called offset) from one band to another. Acked-by: Michael Krufky Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 0fd17d6da8154e1a6391440a268b0620ab339122 Author: Trent Piepho Date: Mon Mar 19 02:23:59 2007 -0300 V4L/DVB (5455): Dvb-pll: Adjust rounding to be consistent Some PLLs had one half the step size added to the offset, so that the divisor would be rounded to the nearest integer. Some didn't and so would always be rounded down. This makes dvb-pll round to the nearest when calculating the divisor, without the offset needing to be fudged. PLLs that had a fudged offset have the offset changed to be just the IF frequency. The satellite PLL dvb_pll_philips_sd1878_tda8261 was rounding up for some reason, and I've kept it that way. In addition, frequencies that were rounded to the nearest kHz are extended to full Hz resolution. One sixth MHz step sizes that were listed as 166,666 Hz are changed to 166,667 Hz, which is slightly closer. PLLs that were already rounding: dvb_pll_tda665x, offset was 36 1/6 (to nearest kHz) + step/2 dvb_pll_fmd1216me, offset was 36 1/8 (to two digits) + step/2 dvb_pll_thomson_fe6600, offset was 36 1/8 (to two digits) + step/2 dvb_pll_env57h1xd5, offset was 36 1/8 + step Note that the last PLL, dvb_pll_env57h1xd5, appears to have had a bug in the offset. Rather than adding stepsize/2, it was adding a full stepsize. The PLL definition originally came from the dibusb driver, which used 36 1/8 + step/2. The change to 36 1/8 + step was probably a mistake added when the tuner was converted to dvb-pll. Signed-off-by: Trent Piepho Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a5a2ecfc3b9b1f97a7f141bd95ea75097ad49b7c Author: Trent Piepho Date: Fri Mar 9 15:07:07 2007 -0300 V4L/DVB (5452): Cx88: merge identical boards The attach code for HAUPPAUGE_HVR3000 and HAUPPAUGE_HVR1300 is exactly the same as the code used by HAUPPAUGE_HVR1100, HAUPPAUGE_HVR1100LP, and WINFAST_DTV2000H. So, those first two cards are added to the case block used by the last three. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 59069e53a27605d14a1a693683a45de837ee7521 Author: Pierre Willenbrock Date: Thu Mar 15 13:24:29 2007 -0300 V4L/DVB (5449): M920x: add error messages for debugging purposes Signed-off-by: Pierre Willenbrock Signed-off-by: Aapo Tahkola Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7d1d4e6c58243614c38ad516a5acfd1af096ba9b Author: Aapo Tahkola Date: Thu Mar 15 13:01:46 2007 -0300 V4L/DVB (5448): M920x: rename megasky_identify_state to m920x_identify_state This function should work for all m920x-based devices. Signed-off-by: Aapo Tahkola Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f3eec0c001a6781224d39912d41b58eaf2126586 Author: Hartmut Hackmann Date: Wed Mar 14 20:33:55 2007 -0300 V4L/DVB (5446): Renamed ASUStek P7131 card [1043:4876] The new name fits to what it is and what is on the box. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit e06cea4cb4a16076dfca4863b12e1c4aeb781c8d Author: Hartmut Hackmann Date: Tue Mar 13 20:58:29 2007 -0300 V4L/DVB (5445): Added / corrected support for some ASUS hybrid boards There are 2 new entries for p7131 boards and one correction for a board with LNA. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit cf83ac433c275b8a652492cabdb39b88a7f8d45c Author: Hartmut Hackmann Date: Tue Mar 13 20:52:35 2007 -0300 V4L/DVB (5444): Saa7134-dvb fix sleep function of the fmd1216 tuner. Static locals should not be changed - the original contents gets lost. Thanks to Trent Piepho for pointing me to this. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 80d352374be7ac88a23fb427d146ac9a71beff90 Author: Hartmut Hackmann Date: Tue Mar 13 20:44:22 2007 -0300 V4L/DVB (5443): Saa7134: put tuner to sleep mode after board initialization Besides power saving, this puts the AGC output of the tda8290 to tristate. This is necessary for some hybrid boards which don't use a multiplexer for the AGC Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 1b2457680f237f858d5f6bcf933cd173a7b27a81 Author: Oliver Endriss Date: Mon Mar 12 21:45:46 2007 -0300 V4L/DVB (5440): Dvb-ttpci: Infrared remote initialization fix Fix bug introduced during infrared refactoring. Thanks to Johann Friedrichs for spotting this. Thanks-to: Johann Friedrichs Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 9e0df402e695e638dfee94a6e05fca48b15404e6 Author: Ian Armstrong Date: Fri Mar 16 07:44:42 2007 -0300 V4L/DVB (5438): Fix ivtv yuv threshold handling Modifies automatic mode selection for yuv playback. Behaviour is now that source video with a vertical resolution below that of the currently set broadcast mode will be treated as progressive. Video with a vertical resolution greater or equal to the current broadcast mode (up to 576 lines) will be treated as interlaced. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 59fc7f52898fb35eb053bc7b54430d81629b5966 Author: Ian Armstrong Date: Fri Mar 16 07:40:48 2007 -0300 V4L/DVB (5437): Update cx23415 documentation Adds more osd mode switching information. Corrects some information regarding mode selection & local alpha operation for 16 bit modes. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 31a7c549eda6bf0a38d8fc12c903a8535a9f27ca Author: Hans Verkuil Date: Tue Mar 13 19:22:40 2007 -0300 V4L/DVB (5436): Fix TV output initialization The TV standard should be set AFTER the TV output is fully initialized. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ddc285c7632b64fb1ac3ec8f25bcc8abd4a1f727 Author: Steven Toth Date: Mon Mar 12 22:26:40 2007 -0300 V4L/DVB (5434): Updates to the tveeprom tuner, video decoder and audio chip Some of the new tuner entries may need to be mapped to compatible tuners already defined. I don't know for certain which tuners are compatible between manufacturers. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 923da8a750fe008da308d0698f66052dfccb037d Author: Michael Krufky Date: Sun Mar 11 12:52:48 2007 -0300 V4L/DVB (5432): Cx88: whitespace cleanup replace leading spaces with tabs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 733aeaf4c006353b1ed8c54b707c03a6385c30ed Author: Michael Krufky Date: Sun Mar 11 12:48:04 2007 -0300 V4L/DVB (5431): Cx88: autodetect ADS Tech InstantTV DVB-S The ADS Tech InstantTV DVB-S is a clone of the KWorld DVB-S 100. This patch adds autodetection support for this card based on pci subsystem id. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 57f8dcf90bdf4c6b23ea2af3d307d1d137b696b9 Author: Trent Piepho Date: Mon Mar 12 12:13:12 2007 -0300 V4L/DVB (5428): M920x: Detect zero-length I2C messages and fix a typo Change a 00 to just 0 Detect zero-length I2C messages and return not supported. I think I know how to send one, but the problem is getting the slave's ack. The only point of a zero-length message is for probing; too see if the slave will ack its address. Since we don't know how to get the ack, we can't support zero-length messages in a useful way, so it's probably best to just return not supported for them. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit d40860f8e2edb31196f4233d3691704d313dbdd6 Author: Trent Piepho Date: Mon Mar 5 23:55:00 2007 -0300 V4L/DVB (5427): M920x: Improve I2C operations Write some better documentation about what might be known about how the m920x I2C works, since a datasheet is lacking. The I2C xfer function should now handle more types of I2C transactions than it could before. Those it can't, will return error codes instead of being executed incorrectly. Multi-byte reads were not being done correctly, which should be fixed. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 634bc48da766a9817e55e7dbd9909a6b26567e92 Author: Aapo Tahkola Date: Mon Mar 5 18:57:27 2007 -0300 V4L/DVB (5426): M920x: remove unneeded code Signed-off-by: Aapo Tahkola Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 480ac761729349f9005d2c6dce6076f7e33de3bc Author: Aapo Tahkola Date: Mon Mar 5 18:54:27 2007 -0300 V4L/DVB (5425): M920x: rework driver code to allow for different devices Signed-off-by: Aapo Tahkola Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26a154c355cceba66ff13b383aa2019c28dbc685 Author: Aapo Tahkola Date: Mon Mar 5 18:25:36 2007 -0300 V4L/DVB (5424): Fix i2c implementation for gl861 and au6610 - r/w bit is not part of the i2c address Signed-off-by: Aapo Tahkola Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26247018be1ca7ca464f5f32e8ca7c897ded5393 Author: Aapo Tahkola Date: Mon Mar 5 18:23:19 2007 -0300 V4L/DVB (5423): M920x: i2c cleanups - Implement m920x i2c as suggested by Pierre Willenbrock - remove "magic" hack - r/w bit is not part of the i2c address - move hardware remarks to header file Signed-off-by: Aapo Tahkola Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fee73165ee0ff7cfbffad4233a70f56b821f434e Author: Hans Verkuil Date: Sun Mar 11 14:16:42 2007 -0300 V4L/DVB (5420): Initialize the inputs before registering the devices. Once the devices have been registered anyone can start changing the inputs or TV standard before they have been initialized by the driver. This leads to cases were the input is changed in an udev rule, but after that rule is triggered the tail-end of the ivtv driver initialization can override that by selecting the tuner input. The correct sequence is to first setup the input, initial frequency and TV standard before finally registering the video devices. This prevents any udev rules from being triggered prematurely. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6816b1991fd4bcb457c9534e8136476e45bfee0a Author: Hans Verkuil Date: Sun Mar 11 10:54:11 2007 -0300 V4L/DVB (5419): Add comment how the speed field is interpreted. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3700a90f05f316948328e8d0e6a9955338a96565 Author: Hans Verkuil Date: Sun Mar 11 10:50:03 2007 -0300 V4L/DVB (5418): Speed is a signed 32-bit integer, not unsigned. Negative speed values have to be allowed for reverse playback. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f40a29168475d64d854ef16a9263b24b0b2a9c6e Author: Hans Verkuil Date: Sat Mar 10 20:50:51 2007 -0300 V4L/DVB (5417): First unregister the driver, and then free the memory. ivtv_remove which is called by pci_unregister_driver was still using memory that was already freed. Ouch. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6773c1c24d48f0aa667ba2aff573904a77050f09 Author: Hans Verkuil Date: Sat Mar 10 20:34:54 2007 -0300 V4L/DVB (5416): Use pci_register_driver instead of pci_module_init in ivtv. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1e5e9aab31d3f73977d2b14189a0bb08b582cbb9 Author: Hans Verkuil Date: Sat Mar 10 20:11:23 2007 -0300 V4L/DVB (5414): Add missing kfree in early exit of saa7115. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d6102900e7e06e1c0c93889d38848a5b2d44e41d Author: Hans Verkuil Date: Sat Mar 10 20:09:07 2007 -0300 V4L/DVB (5413): Use spin_lock_init to fix lockdep warnings. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 25415cf3b8b3982b065e2227f079ea9cf7a97ef7 Author: Hans Verkuil Date: Sat Mar 10 18:29:48 2007 -0300 V4L/DVB (5412): Fix VIDIOC_TRY_ENCODER_CMD and VIDEO_TRY_COMMAND VIDIOC_TRY_ENCODER_CMD did the same as VIDIOC_ENCODER_CMD, now it no longer touches the encoder. Both the encoder and decoder commands did not clear the flags field of unknown flags. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d4e7ee36f988d2757c218d61c2f334df0a1acd45 Author: Hans Verkuil Date: Sat Mar 10 18:19:12 2007 -0300 V4L/DVB (5411): Use v4l_printk_ioctl for debug Using v4l_printk_ioctl saves a lot of code duplication. Also moved a few ioctl cases to another function, improving the ioctl grouping. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d46c17d7aa12e30b612acae35535fcd64f2db3d6 Author: Hans Verkuil Date: Sat Mar 10 17:59:15 2007 -0300 V4L/DVB (5410): Add VIDIOC_G/S_PRIORITY support to ivtv. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a542fe47fe3f758e47d71640e7ca328c032a13e1 Author: Hans Verkuil Date: Sat Mar 10 13:56:56 2007 -0300 V4L/DVB (5409): Add CARDLIST.ivtv and README.ivtv Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3f3f6a5958ffc651227df671704467654b71c09d Author: Hans Verkuil Date: Sat Mar 10 08:10:11 2007 -0300 V4L/DVB (5407a): Update feature-removal-schedule.txt: remove VIDIOC_S/G_MPEGCOMP Those two experimental APIs never worked fine nor, afaik, were implemented at the apps. Their functionalities were implemented by other means. So, let's remove those obsolete stuff. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b6735ac24ef735532d8f6d71eb30bca365d9307a Author: Hans Verkuil Date: Sat Mar 10 06:59:44 2007 -0300 V4L/DVB (5406): Add comment why the symbols are exported. It is not immediately obvious why the ivtv symbols are exported in ivtv-driver.c since both ivtv-fb and the IR-blaster module are still out-of-tree, currently being ported to be in kernel. Added a comment so people are aware of these issues. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 83df8e7b0d7b319f9ce9773eaf4b1da324ae17d7 Author: Hans Verkuil Date: Sat Mar 10 06:54:58 2007 -0300 V4L/DVB (5405): Add missing includes. Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1e13f9e3f1501cc167e40a2adf07e6e4705cb331 Author: Hans Verkuil Date: Sat Mar 10 06:52:02 2007 -0300 V4L/DVB (5404): Merges VBI & YUV handling into a single work queue. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 037c86c53362b0b3dda6201c9f62f64c9d17abb6 Author: Hans Verkuil Date: Sat Mar 10 06:30:19 2007 -0300 V4L/DVB (5403): Set vsync_field correctly in ivtv. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 43d0dfcfc654fa18b6dd91b9483273b44112997f Author: Hans Verkuil Date: Sat Mar 10 06:24:30 2007 -0300 V4L/DVB (5402): Add vsync_field to the union in video_event for VIDEO_EVENT_VSYNC VIDEO_EVENT_VSYNC needs to tell the application which field it was that received a VSYNC (odd/even/progressive). The vsync_field was added to the union in video_event for this purpose. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5332bdbe9aae9e1a8fc5daaca6c75f05bc37d310 Author: Oliver Neukum Date: Fri Mar 9 18:05:43 2007 -0300 V4L/DVB (5399): Usbvideo module handling Signed-off-by: Oliver Neukum Signed-off-by: Mauro Carvalho Chehab commit 5cdc178d1c7e677f0344b7b933d71c900ae73c85 Author: Oleg Nesterov Date: Fri Mar 9 17:43:39 2007 -0300 V4L/DVB (5398): Cpia_pp.c: don't use _WORK_NAR pp_cam_entry->cb_task need not to be _NOAUTOREL ... because in fact it is never used ??? Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 15f189e9780d2859ee2bd5ee6b7180a010a9ebf5 Author: Adrian Bunk Date: Fri Mar 9 17:39:52 2007 -0300 V4L/DVB (5397): Saa7134: fix MODULES=n compilation This patch fixes the following compile error with CONFIG_MODULES=n: CC drivers/media/video/saa7134/saa7134-core.o /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/drivers/media/video/saa7134/saa7134-core.c:979:24: error: macro "request_submodules" passed 1 arguments, but takes just 0 /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/drivers/media/video/saa7134/saa7134-core.c: In function 'saa7134_initdev': /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/drivers/media/video/saa7134/saa7134-core.c:979: error: 'request_submodules' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/drivers/media/video/saa7134/saa7134-core.c:979: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/linux-2.6.21-rc2-mm1/drivers/media/video/saa7134/saa7134-core.c:979: error: for each function it appears in.) make[5]: *** [drivers/media/video/saa7134/saa7134-core.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 93566ad8068a968c3e72951b4539eb9da661446d Author: Trent Piepho Date: Wed Mar 7 18:19:49 2007 -0300 V4L/DVB (5392): Zr364xx: Use kernel's byte-swapping function Some code to swap bytes wasn't using the swab16() function that the kernel provides for this. Make use of it, which results in more efficient code. Signed-off-by: Trent Piepho Acked-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit cf3c34c87f921c5c63d47285c9860345cdaf5170 Author: Trent Piepho Date: Wed Mar 7 18:19:48 2007 -0300 V4L/DVB (5391): Saa7134: Clean up printk()s Change some debug messages from printk() to dprintk(). Add KERN_WARNING and KERN_ERR level indicators to other printk()s that lacked them. Format printk lines with consistent ("%s/dvb: ", dev->name) prefix. Fixed dprintk macro, which had an if with no else that wasn't protected with a do {} while(0) block. That leads to "if(...) dprintk(); else" not doing what one would expect. Signed-off-by: Trent Piepho Acked-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 3b35b4b38049356b1e0b8e64ee27d1aca606b766 Author: Hans Verkuil Date: Wed Mar 7 17:10:07 2007 -0300 V4L/DVB (5389): Add tveeprom entry for tuner LG S701D MK3 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a415783bbb9fba7be2eeaeb5e3e08262bd3d64a1 Author: Andrew Morton Date: Wed Mar 7 11:28:33 2007 -0300 V4L/DVB (5388): Ivtv warning fix drivers/media/video/ivtv/ivtv-i2c.c:547: warning: initializer-string for array of chars is too long drivers/media/video/ivtv/ivtv-i2c.c:547: warning: (near initialization for 'ivtv_i2c_client_template.name') Signed-off-by: Andrew Morton Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e6c1df5581320720b8212a543e055e19d46f32bb Author: Dwaine P. Garden Date: Tue Mar 6 15:15:19 2007 -0300 V4L/DVB (5386): Add some missing Hauppauge and Belkin devices to the driver -Add some missing Hauppauge and Belkin devices to the driver. -Fixed up some device descriptions. Signed-off-by: Dwaine P. Garden Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 2575f84a50f71b867d8d2ff2994eefc92d60ac79 Author: Antoine Jacquet Date: Mon Mar 5 06:32:29 2007 -0300 V4L/DVB (5385): Fix compilation issue with zr364xx when V4L1 is disabled Add a missing header to fix compilation issue in the zr364xx driver when CONFIG_VIDEO_V4L1 and CONFIG_VIDEO_V4L1_COMPAT are not set. Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit a6210b7bea86305871bdca32f38b115b3ea67edf Author: Emil Georgiev Date: Sun Mar 4 07:03:17 2007 -0300 V4L/DVB (5383): Fix duplicated codes in Pinnacle Grey remote The keymap for this remote had duplicated labels for different keys, which resulted in those key pairs being unable to function as different inputs. Signed-off-by: Emil Georgiev Signed-off-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 14500d4a5140252f2524d8d89a22166ef2313614 Author: Oliver Endriss Date: Sat Mar 3 14:45:48 2007 -0300 V4L/DVB (5381): Dvb-ttpci: Update frontend lock status in transfer mode (bugfix) In transfer/replay mode the frontend lock status was never updated. This caused a 'black screen' if VDR switched from transfer mode to live mode on the same transponder. Thanks to Marco Schluessler for spotting the problem. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit bfce1747e8c5a7b4b0d1331328a08f26fa5b2f2e Author: Jean Delvare Date: Sat Mar 3 13:34:34 2007 -0300 V4L/DVB (5380): Cx25840-firmware include cleanup There is no reason why cx25840-firmware.c would need to include . Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 31ec13561060b748221f4e0404bcc5bf8078ccd0 Author: Hans Verkuil Date: Sat Mar 3 08:50:42 2007 -0300 V4L/DVB (5379): If possible make vars/functions static. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 43053c07fa2935038bfc0e5dbaf417d1d66cd95d Author: Hans Verkuil Date: Sat Mar 3 08:40:36 2007 -0300 V4L/DVB (5378): Add missing IVTV_FB_WARN #define This is needed for ivtv-fb. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a51a50bd01e9f45245edd67dad7cef3ddb8452c5 Author: Hans Verkuil Date: Sat Mar 3 08:28:54 2007 -0300 V4L/DVB (5377): Replace SA_* with IRQF_* SA_* interrupt flags are being phased out, update to newer flags. Thanks to Maarten Maathuis for pointing this out to me. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4b0e51dd6d7998a7acaca880392979a4a7072d21 Author: Hans Verkuil Date: Sat Mar 3 08:15:36 2007 -0300 V4L/DVB (5376): Add dependency on VIDEO_V4L1 VIDEO_V4L1 is needed to get tvaudio to be built. Stupid really as ivtv is only using the v4l2 API to communicate with tvaudio. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 82dcab2d628ec680d701f6de66441ddc2c367227 Author: Hans Verkuil Date: Sat Mar 3 08:01:54 2007 -0300 V4L/DVB (5375): Add missing VIDEO_CX25840 dep, remove unused VIDEO_TLV320AIC23B dep VIDEO_CX25840 was missing in the ivtv dependencies. VIDEO_TLV320AIC23B was removed since it isn't used by ivtv. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9e54324d03add27990ac27fcb34a1ae7a0f97ef Author: Trent Piepho Date: Fri Mar 2 19:42:21 2007 -0300 V4L/DVB (5374): Or51132: refactor i2c code, improve error resilience The code the i2c transactions was leftover from the old V4L-based ATSC driver. It did too little with too much code. It is re-written to remove unnecessary parameters and be more efficient. A demod register can now be read with one function call, instead of repeating a dozen line block of code each time. There were msleep()'s, which appear to be unnecessary, spread around all the I2C transactions. These have been removed. Reading SNR used to take about 130 ms, now it's down to 1.8 ms. Reads from the demodulator's registers do not return correct results sometimes. Adding or removing the delays in the I2C transactions did not appear to effect the probability of failure. If anything, the transactions without delays were less likely to fail, but since far more transactions could be made per second the number of failures per hour was greater. To increase reliability, the SNR and get_params functions will now retry once if they get bad data back. This appears to have reduced the probability of failure to effectively zero. Some error messages are cleaned up or given KERN_* levels when they were missing. or51132_setmode() wasn't returning correct error codes, which is fixed as well. CC: Rusty Scott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 387e69adff3d441616b45002ff85c5b36001be9e Author: Dennis Ranke Date: Fri Mar 2 06:27:28 2007 -0300 V4L/DVB (5373): [PATCH] Hauppauge Nova-T endianess problem on powerpc When trying to use a Hauppauge Nova-T Stick on a big-endian architecture (such as powerpc) no frontend can be attached. The attached patch fixes this problem by removing two lines in dib0700_ctrl_rd() that try to correct the endianess on two values that already are correct: - /* think about swapping here */ - value = le16_to_cpu(value); - index = le16_to_cpu(index); With this simple patch this dvb hardware works great, thanks to anyone involved for the good work. :) Signed-off-by: Dennis Ranke Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit ddc9ece89dbeb374e34772232f5e26f64ce63390 Author: Christophe Cattelain Date: Fri Apr 27 12:31:32 2007 -0300 V4L/DVB (5371): [PATCH] Pinnacle PCTV Sat Pro USB (450e) support by ttusb2.c (400e driver) Added USB_PID_PCTV_450E to the 'usb_device_id ttusb2_table' and an entry in the .devices table. The 400e driver now supports the 'Pinnacle PCTV Sat Pro USB (450e)' with USB_ID 2304:0222. Signed-off-by: Christophe Cattelain Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit ede2200d79777d461cf2f0fd19cf7a17f633d3a4 Author: Hartmut Hackmann Date: Fri Apr 27 12:31:32 2007 -0300 V4L/DVB (5369): Fixed 1 byte too short buffer in tda827x.c - The i2c data buffer in tda827xa_set_params was 1 byte too short - saa7134-dvb now gives an error mesage if tda827x could not be attached - coding style fix in tda1004x.c Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 8481a7506bc71622bb5bbd89bc89b2f38bff5ead Author: Mike Isely Date: Fri Apr 27 12:31:31 2007 -0300 V4L/DVB (5367): Pvrusb2: (trivial) Fix too-wide source line Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6bdcc6e6dbab8daffd05e5026486f34ba41a6c72 Author: Trent Piepho Date: Fri Apr 27 12:31:30 2007 -0300 V4L/DVB (5363): Dvb: Remove lgh06xf driver The code of the dvb-pll driver and the lgh06xf driver is nearly identical. The main difference is that the lgh06xf driver would set the AGC TOP value on every tune call. The dvb-pll driver now has the ability to set the AGC TOP when the front-end device is opened, which is a better way to go about it. By using this ability of dvb-pll, the lgh06xf driver is made unnecessary. There is one other difference. dvb-pll will probe for the presence of an I2C pll chip by doing a one byte read, the lgh06xf driver did not do this. In some devices the PLL is not reachable over I2C at the timer the tuner is attached. Some more initialization, such as firmware loading, must take place first. None of the devices using a LG-H06xF should have this problem. Signed-off-by: Trent Piepho Acked-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26aed92289ae8caffeedebb3f841a9e0371119a9 Author: Trent Piepho Date: Fri Apr 27 12:31:29 2007 -0300 V4L/DVB (5362): Dvb-pll: add code for doing tuner initialization Some tuners need or benefit from initialization, to change certain settings from their power on default values. Typically, tuners with TUA603x PLLs can benefit from setting the AGC TOP value to something else. This patch includes code to set the AGC TOP to 103 dBuV for the Thomson DTT-761x tuners, which I have experimentally verified gives the best SNR readings, increasing SNR by about 0.19 dB over the default value. Other tuners can make use of this as well. For example, the separate LG TDVS-H06xF driver's only difference from dvb-pll is this same setting of AGC TOP value. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 9ab1ba38e6a25a480234f196aa26239e28ac2407 Author: Trent Piepho Date: Fri Apr 27 12:31:28 2007 -0300 V4L/DVB (5361): Dvb-pll: Fix Kconfig files and allow dvb-pll to be optional A number of drivers selected DVB_PLL when they did not need it, and some that did need it did not select it. The DVB_PLL option is given a name and help text, so that it will show up in the config menu. DVB_PLL support can be turned on if an out-of-tree driver needs it. The standard dvb fe customization support is added to dvb-pll.h. Since all modules which select DVB_PLL do so unconditionally, it is not possible to turn dvb-pll off when an enabled module selects it, unlike most of the other frontend/tuner drivers. This is because the users of dvb-pll have static references to dvb-pll symbols other than the attach function. If these references are removed, then dvb-pll will be disablable as the other frontend/tuner drivers are. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 982dd1bdaab39185ccd55cafd3c099b7fee5f2dd Author: Trent Piepho Date: Fri Apr 27 12:31:27 2007 -0300 V4L/DVB (5360): Dvb-pll: Use sizeof() to get name length Better to use sizeof() to get the size of the output buffer for the tuner name, instead of just hard coding 128. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 51dec1f1abef9771d9085c2336234b28b3e78821 Author: Hans Verkuil Date: Fri Apr 27 12:31:27 2007 -0300 V4L/DVB (5356): Fix bogus error messages in ivtv for VIDIOC_G_CHIP_IDENT Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 74cab31c413c8615efe818d44ff4ac83e2a138be Author: Hans Verkuil Date: Fri Apr 27 12:31:26 2007 -0300 V4L/DVB (5355): Add VIDIOC_G_CHIP_IDENT to various i2c modules Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1a0adaf37c30e89e44d1470ef604a930999a5826 Author: Hans Verkuil Date: Fri Apr 27 12:31:25 2007 -0300 V4L/DVB (5345): ivtv driver for Conexant cx23416/cx23415 MPEG encoder/decoder It took three core maintainers, over four years of work, eight new i2c modules, eleven new V4L2 ioctls, three new DVB video ioctls, a Sliced VBI API, a new MPEG encoder API, an enhanced DVB video MPEG decoding API, major YUV/OSD contributions from Ian and John, web/wiki/svn/trac support from Axel Thimm, (hardware) support from Hauppauge, support and assistance from the v4l-dvb people and the many, many users of ivtv to finally make it possible to merge this driver into the kernel. Thank you all! 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 ac52ea3c3c04403d10acf0253180ec6f51977142 Author: Oliver Endriss Date: Fri Apr 27 12:31:24 2007 -0300 V4L/DVB (5344): Dvb-ttpci: Support for MSC_RAW and MSC_SCAN RC events Support for MSC_RAW and MSC_SCAN remote control events. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 1b5888cea1d371239a130150222e63d476298d89 Author: Hans Verkuil Date: Fri Apr 27 12:31:23 2007 -0300 V4L/DVB (5341): Add cx23415/6 chip idents. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0b20060f6c2cc69c5394cf9782513e7b526e87b9 Author: Hans Verkuil Date: Fri Apr 27 12:31:22 2007 -0300 V4L/DVB (5336): Cx23416 doc updates + rename CX2341X_ENC_UNKNOWN The documentation of Several miscellaneous commands was updated. As a result of which the CX2341X_ENC_UNKNOWN command was renamed to CX2341X_ENC_SET_VERT_CROP_LINE. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 145859cb8fafc1d75e780ea182413b13f5913a7f Author: David Hrdeman Date: Fri Apr 27 12:31:22 2007 -0300 V4L/DVB (5335): Budget-ci: Use the repeat handling of the input subsystem The attached patch contains the last set of changes to the budget-ci IR handling which makes it use the repeat handling of the input subsystem. This allows some code simplification, makes sure that repeat key presses are reported as such and also allows the "debounce" hack to be removed altogether. In addition a couple of static variables were removed which would have confused the IR code if more than one card is used. Signed-off-by: David Hardeman Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit ee820a648fb333034aa455e8e1479b89798a1281 Author: Oliver Endriss Date: Fri Apr 27 12:31:21 2007 -0300 V4L/DVB (5334): Dvb-ttpci: Infrared remote control refactoring Infrared remote control support rewritten. Now each device provides its own event device, keymap, protocol, inversion and address setting. EVIOCGKEYCODE and EVIOCSKEYCODE ioctls are supported to read/modify a keymap. Keymaps may be loaded using - input tools (keyb etc.) - av7110_loadkeys (obsolete, for backward compatibility) New command line parameters: - ir_protocol: select infrared protocol: 0 RC5, 1 RCMM (default) - ir_inversion: signal inversion: 0 not inverted (default), 1 inverted - ir_device_mask: bitmask of infrared devices (default: accept all) Those parameters may be set anytime. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit db4836791dc578f0f6e9573468cffeee00fa7ebc Author: Peter Missel Date: Fri Apr 27 12:31:20 2007 -0300 V4L/DVB (5331): Identify MSI TV@nywhere Duo It is a Lifeview Duo with a different ID Signed-off-by: Peter Missel Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit e95d317da2de7116ef66fa16bd9664cd39f1c11c Author: Markus Rechberger Date: Fri Apr 27 12:31:19 2007 -0300 V4L/DVB (5330): Added card definition for AverMedia M102 miniPCI Signed-off-by: Markus Rechberger Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 9040b32ea34eff58c59b46abf440c0dd1614c8a2 Author: Heikki Orsila Date: Fri Apr 27 12:31:18 2007 -0300 V4L/DVB (5329): Some saa7134 cleanups - use generic sort instead of bubblesort - removed useless saa7134_video_fini function - small coding style changes Signed-off-by: Heikki Orsila Signed-off-by: Andrew Morton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 80f90fba3ed8c8826d968125004e4462d2de172e Author: Hartmut Hackmann Date: Fri Apr 27 12:31:18 2007 -0300 V4L/DVB (5326): Allow to set tuner_config in attach inform This patch move the assignment of the tuner config and the callback before the check whether it is called in the attach inform. This solves a module load order issue Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 4217e25275eeb1973ca5bed65645f70b8f6c199d Author: Markus Rechberger Date: Fri Apr 27 12:31:17 2007 -0300 V4L/DVB (5324): This patch fixes request_module_depend() this patch fixes request_module_depend() Signed-off-by: Markus Rechberger Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit cfeb88398f004a0e85ee011fd89a01f5d3bf3c81 Author: Hartmut Hackmann Date: Fri Apr 27 12:31:17 2007 -0300 V4L/DVB (5323): Updated support for tuner callbacks This change supplies a more generic version of the tuner callback. The tuner struct now has a function pointer int (*tuner_callback) (void *dev, int command, int arg) additionally to a int config parameter. both can be set through the TUNER_SET_TYPE_ADDR client call. Note that the meaning of the parameters depend on the tuner type. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit b8bc76d88fa7a1e4cd679fac3adfc5afeb2b3427 Author: Hartmut Hackmann Date: Fri Apr 27 12:31:16 2007 -0300 V4L/DVB (5322): Removed board naming code in saa7134-dvb This is for better consistency with other drivers Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 1c4f76abb85918646eed5dee0b26744cc49fd1da Author: Hartmut Hackmann Date: Fri Apr 27 12:31:16 2007 -0300 V4L/DVB (5321): Saa7134-dvb: initialize the dvb frontend in dvb_init The hardware is completely initialized afterwards, especially the tda10046 has its firmware - which is also necessary in analog mode of some hybrid boards. Calling the sleep function afterwards saves power and definitely puts hybrid boards into analog mode without additional code elsewere. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 11f65106adb25a9ef5b6d8911267b2365c97a759 Author: Hartmut Hackmann Date: Fri Apr 27 12:31:15 2007 -0300 V4L/DVB (5320): Filled in limiting values in tda827x.c The parameters for minimum and maximum frequency were missing. Also added mail addresses of the module authors. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 68717583557341874b2eea4dea36635256e932b6 Author: Hartmut Hackmann Date: Fri Apr 27 12:31:15 2007 -0300 V4L/DVB (5319): Set tda827x to sleep mode after attach This change sets the tda827x to sleep mode right after attach in dvb mode. It is just to save power. For the same reason, the ADC of the tda10046 gets turned off in sleep mode. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 06be3035f96d73cf64dc20a8ee37c902d7a2ff2d Author: Hartmut Hackmann Date: Fri Apr 27 12:31:15 2007 -0300 V4L/DVB (5318): Fix tda8290 code for tda827x module During tuner attach, the pointers to host dev structure are not set yet, so the I2c adapter needs to be accessed differently. This patch also does some minor cleanup in the saa7134-dvb module. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 8ce47dad8e2b9fcb899a67e6537337fa9c18c1f5 Author: Michael Krufky Date: Fri Apr 27 12:31:14 2007 -0300 V4L/DVB (5317): Create tda827x dvb tuner module The patch moves the tda827x dvb tuning code to a separate module Signed-off-by: Michael Krufky Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7c7fea669d77048b3013567dfb4c9171d536da05 Author: Peter Missel Date: Fri Apr 27 12:31:14 2007 -0300 V4L/DVB (5316): Add radio support for the Lifeview FlyDVB-T Duo There are card variants supporting FM radio through tda8275. Signed-off-by: Peter Missel Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit f4546e702a89d2e483570f0f16c5155bb781cc38 Author: Hartmut Hackmann Date: Fri Apr 27 12:31:13 2007 -0300 V4L/DVB (5315): Tda1004x: check request firmware for NULL ponter again In older versions, this was used to decide whether to boot from eeprom or file. This is no longer necessary but the check helps to avoid an oops with misconfigured cards. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 58ef4f924cf2824ae198b1fec3eea1e4059a021c Author: Hartmut Hackmann Date: Fri Apr 27 12:31:12 2007 -0300 V4L/DVB (5314): Added support for tda827x tuners with preamlifiers This patch contains - new tuning code for the tda827xa silicon tuner. - controls the preamplifier of some boards with this tuner. - support for the Philips Tiger S hybrid DVB-T reference design. - reworked the saa7134-dvb modulue to get rid of most of the small board specific functions. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit de956c1e0f89413a3837b642d592e2dff3e3eb78 Author: Hartmut Hackmann Date: Fri Apr 27 12:31:12 2007 -0300 V4L/DVB (5313): Added a config entry and a gpio function pointer to tuner struct These entries mainly are to support configurations of the tda827x silicon tuner with a preamplifier. The values can be set throgh the attach inform or through the extended TUNER_SET_TYPE_ADDR client call. The function pointer will only be updated if the parameter is not NULL. Since a typecast is necessary to set the pointer, i added a typedef for this pointer (tuner_gpio_func_t) in tuner.h Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit b8195946228c749702dfe5995b98516ea4b04cdc Author: Hartmut Hackmann Date: Fri Apr 27 12:31:11 2007 -0300 V4L/DVB (5312): Saa713x: added a GPIO handler function This function allows to set, clear and tristate the GPIO ports. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 1bb0e8667fab773d6c5a3d7caf506001deaeb7f5 Author: Hartmut Hackmann Date: Fri Apr 27 12:31:10 2007 -0300 V4L/DVB (5311): Tda1004x driver updates There are the following changes: - separate configuration of IF and GPIOs. - set GPIOs before firmware load. This helps to avoid I2C address collisions. - if desired invert GPIOs at sleep (automatic return to analog mode of card). - added 3 tuner configuration bytes to config stuct. - added i2c gate address to config struct. - moved _state struct declaration to header file to make it accessible on board layer. - added "conf_probed" to the state struct to allow i.e. probing for correct tuner version. - changed firmware load mechanism to always: + check if already loaded + try to boot from eeprom + try downlad from host - corrected name of tda10046 firmware image (backward compatible). Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 2435be11ae1afb64ac7dfb25e10b6e3037ab0522 Author: Hans Verkuil Date: Fri Apr 27 12:31:09 2007 -0300 V4L/DVB (5307): Add support for the cx23415 MPEG decoding features. The cx23415 adds some extra features that this DVB decoding API did not support. This API has been expanded to support the required features. Both source and binary backwards compatibility is kept intact by these changes. So existing applications are not affected. Signed-off-by: Hans Verkuil Signed-off-by: Ralph Metzler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 3434eb7e14d9587ee56f3462bcfa5726b62dadb9 Author: Hans Verkuil Date: Fri Apr 27 12:31:08 2007 -0300 V4L/DVB (5306): Add support for VIDIOC_G_CHIP_IDENT VIDIOC_G_CHIP_IDENT improves debugging of card problems: it can be used to detect which chips are on the board and based on that information selected register dumps can be made, making it easy to debug complicated media chips containing tens or hundreds of registers. This ioctl replaces the internal VIDIOC_INT_G_CHIP_IDENT ioctl. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ced80c67cd1ed503c6fb72f02ac7342ab4ebf67a Author: Markus Rechberger Date: Fri Apr 27 12:31:07 2007 -0300 V4L/DVB (5299): Added support for loading cx88-dvb and cx88-blackbird Added support for loading cx88-dvb and cx88-blackbird Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit 77b7477467824098741351b6253a4ad292e28df9 Author: Markus Rechberger Date: Fri Apr 27 12:31:06 2007 -0300 V4L/DVB (5298): Added support for deferred module requesting to cx88 added support for deferred module requesting to cx88 Signed-off-by: Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit acf2821282bdd912f9ca46780879a21679429f85 Author: Mauro Carvalho Chehab Date: Fri Apr 27 12:31:06 2007 -0300 V4L/DVB (5297): Fix identation on tda10021.c Signed-off-by: Mauro Carvalho Chehab commit 5948e52cee0f2e72f8aaf0a78fec257f217efd88 Author: Adrian Bunk Date: Fri Apr 27 12:31:05 2007 -0300 V4L/DVB (5294): Make pvr2_encoder_prep_config() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 3721929ed327ac2a6a879ad0b7dcbfc8ba2ae93f Author: Adrian Bunk Date: Fri Apr 27 12:31:05 2007 -0300 V4L/DVB (5293): Make dvb_usb_gl861_debug static Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Andrew Morton commit 045290b2a90ff1be60196a061aadecf70eb6bcc3 Author: Hans Verkuil Date: Fri Apr 27 12:31:04 2007 -0300 V4L/DVB (5290): Add support for VIDIOC_INT_G/S_STD_OUTPUT Added VIDIOC_INT_G_STD_OUTPUT and VIDIOC_INT_S_STD_OUTPUT to allow drivers to set the TV standard for video output separately from the video capture. This is needed for cx23415 support where the decoder is separate from the encoder and can have a different TV standard. Modified the saa7127 module to listen to VIDIOC_INT_G/S_STD_OUTPUT instead of VIDIOC_G/S_STD. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b2787845fb91da18ebb079dc9297f92d990e9fe1 Author: Hans Verkuil Date: Fri Apr 27 12:31:02 2007 -0300 V4L/DVB (5289): Add support for video output overlays. Add V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY support. Also add support for local and global alpha overlays. Add new field enums V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT. These changes are needed to support the ivtv On Screen Display features. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3bfb7398e2554fb54acb2900b81de144eb41c3ac Author: Adrian Bunk Date: Fri Apr 27 12:31:01 2007 -0300 V4L/DVB (5278): Bt8xx/: possible cleanups This patch contains the following possible cleanups: - remove the following unused global functions: - bttv-if.c: bttv_get_cardinfo() - bttv-if.c: bttv_get_id() - bttv-if.c: bttv_get_gpio_queue() - bttv-if.c: bttv_i2c_call() - remove the following unused EXPORT_SYMBOL's: - bttv-gpio.c: bttv_sub_bus_type - bttv-gpio.c: bttv_gpio_inout - bttv-gpio.c: bttv_gpio_read - bttv-gpio.c: bttv_gpio_write - bttv-gpio.c: bttv_gpio_bits Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 206ebaf32795cf1582b1e2ff2ec6a560c9e986b8 Author: Hans Verkuil Date: Fri Apr 27 12:31:01 2007 -0300 V4L/DVB (5272): Add V4L2_CAP_VIDEO_OUTPUT_POS capability Add V4L2_CAP_VIDEO_OUTPUT_POS capability and x, y position coordinates to struct v4l2_pix_format. This is needed to support positioning the MPEG/YUV output of the cx23415. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5eee72e88416ef11f55791626440ac3c9018c4c0 Author: Hans Verkuil Date: Fri Apr 27 12:31:00 2007 -0300 V4L/DVB (5268): Add support for three new MPEG controls. Added V4L2_CID_MPEG_AUDIO_MUTE, V4L2_CID_MPEG_VIDEO_MUTE and V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS controls together with their implementation in the cx2341x module. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b7eee616ad8db5db5441a7d82083003df3ab6d3b Author: Antoine Jacquet Date: Fri Apr 27 12:30:59 2007 -0300 V4L/DVB (5257): USB: add zr364xx V4L2 driver This patch adds a V4L2 driver giving support for USB webcams based on the zr364xx chipsets. Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit d1da4e50e5d09f02c340927a4fcb7f54202fa033 Merge: 78ab67d... a205752... Author: David Woodhouse Date: Fri Apr 27 19:16:19 2007 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/mtd/Kconfig Signed-off-by: David Woodhouse commit 404d5b185b4eb56d6fa2f7bd27833f8df1c38ce4 Author: Dan Williams Date: Thu Apr 26 00:12:10 2007 -0700 dev_dbg: check dev_dbg() arguments Duplicate what Zach Brown did for pr_debug in commit 8b2a1fd1b394c60eaa2587716102dd5e9b4e5990 [akpm@linux-foundation.org: fix a couple of things which broke] Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 61a2f59af6c8ffd9d6dd53f0da32563d4434e790 Author: Matthias Kaehlcke Date: Thu Apr 26 00:12:09 2007 -0700 drivers/base/attribute_container.c: use mutex instead of binary semaphore use mutex instead of binary semaphore in drivers/base/attribute_container.c Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 240936e18b75937e7866934df723c2db0011d24f Author: Akinobu Mita Date: Thu Apr 26 00:12:09 2007 -0700 mod_sysfs_setup() doesn't return errno when kobject_add_dir() failure occurs mod_sysfs_setup() doesn't return an errno when kobject_add_dir() for module "holders" directory fails. So caller of mod_sysfs_setup() will keep going and get oops. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a53c46dc8253cc613ad66a2ca7aad6de8b7e61b9 Author: Johannes Berg Date: Thu Apr 26 11:43:58 2007 +0200 s2ram: add arch irq disable/enable hooks After some more discussion this patch replaces it: From: Johannes Berg Subject: suspend: add arch irq disable/enable hooks For powermac, we need to do some things between suspending devices and device_power_off, for example setting the decrementer. This patch allows architectures to define arch_s2ram_{en,dis}able_irqs in their asm/suspend.h to have control over this step. Signed-off-by: Johannes Berg Acked-by: Pavel Machek Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 075c1771526c85849ed22298d048bc07e400aee5 Author: David Brownell Date: Thu Apr 26 00:12:06 2007 -0700 define platform wakeup hook, use in pci_enable_wake() This defines a platform hook to enable/disable a device as a wakeup event source. It's initially for use with ACPI, but more generally it could be used whenever enable_irq_wake()/disable_irq_wake() don't suffice. The hook is called -- if available -- inside pci_enable_wake(); and the semantics of that call are enhanced so that support for PCI PME# is no longer needed. It can now work for devices with "legacy PCI PM", when platform support allows it. (That support would use some board-specific signal for for the same purpose as PME#.) [akpm@linux-foundation.org: Make it compile with CONFIG_PM=n] Signed-off-by: David Brownell Signed-off-by: Zhang Rui Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 057f6c019fff9ee290641d50647359bb8898918e Author: James Morris Date: Thu Apr 26 00:12:05 2007 -0700 security: prevent permission checking of file removal via sysfs_remove_group() Prevent permission checking from being performed when the kernel wants to unconditionally remove a sysfs group, by introducing an kernel-only variant of lookup_one_len(), lookup_one_len_kern(). Additionally, as sysfs_remove_group() does not check the return value of the lookup before using it, a BUG_ON has been added to pinpoint the cause of any problems potentially caused by this (and as a form of annotation). Signed-off-by: James Morris Cc: Nagendra Singh Tomar Cc: Tejun Heo Cc: Stephen Smalley Cc: Eric Paris Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 523ded71de0c5e66973335bf99a80edfda9f401b Author: Alan Stern Date: Thu Apr 26 00:12:04 2007 -0700 device_schedule_callback() needs a module reference This patch (as896b) fixes an oversight in the design of device_schedule_callback(). It is necessary to acquire a reference to the module owning the callback routine, to prevent the module from being unloaded before the callback can run. Signed-off-by: Alan Stern Cc: Satyam Sharma Cc: Neil Brown Cc: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e Author: Cornelia Huck Date: Thu Apr 26 00:12:03 2007 -0700 s390: cio: Delay uevents for subchannels We often have the situation that we register a subchannel and start device recognition, only to find out that the device is not usable after all, which triggers an unregister of the subchannel. This often happens on hundreds of subchannels on a LPAR, leading to a storm of events which aren't of any use. Therefore, use uevent_suppress to delay the KOBJ_ADD uevent for a subchannel until we know that its ccw_device is to be registered. Signed-off-by: Cornelia Huck Cc: Kay Sievers Cc: Eric Rannaud Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 45cd8d8e1e56fba41b1e4fae988f40fe938045c2 Author: Andrew Morton Date: Thu Apr 26 00:12:10 2007 -0700 sysfs: bin.c printk fix fs/sysfs/bin.c: In function 'read': fs/sysfs/bin.c:77: warning: format '%zd' expects type 'signed size_t', but argument 4 has type 'int' Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b2366d68d9ec3498b342507facf526c1f66ffa41 Author: Matthias Kaehlcke Date: Tue Apr 24 22:45:25 2007 +0200 Driver core: use mutex instead of semaphore in DMA pool handler the DMA pool handler uses a semaphore as mutex. use the mutex API instead of the (binary) semaphore Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit 4f6e1945fecad6ac8134e9fa68b7708e55690e9e Author: Greg Kroah-Hartman Date: Fri Apr 20 11:29:52 2007 -0700 driver core: bus_add_driver should return an error if no bus As pointed out by Dave Jones. Cc: Dave Jones Signed-off-by: Greg Kroah-Hartman commit 8447891fe845851738439788c74b3c811578e3f9 Author: Michael Ellerman Date: Tue Apr 17 15:59:36 2007 +1000 debugfs: Add debugfs_create_u64() I went to use this the other day, only to find it didn't exist. It's a straight copy of the debugfs u32 code, then s/u32/u64/. A quick test shows it seems to be working. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 3106d46f51a1a72fdbf071ebc0800a9bcfcbc544 Author: Adrian Bunk Date: Fri Apr 6 12:21:45 2007 +0200 the overdue removal of the mount/umount uevents This patch contains the overdue removal of the mount/umount uevents. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 2753133eb3321feb81dcb9c88141dd2aa5973ee1 Author: Eric W. Biederman Date: Fri Apr 6 10:47:11 2007 -0600 kobject: Comment and warning fixes to kobject.c This dots some i's and crosses some t's after left over from when kobject_kset_add_dir was built from kobject_add_dir. Signed-off-by: Eric W. Biederman Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 22af74f3b221f1436a37554501431e51c06ee77e Author: Kay Sievers Date: Fri Apr 6 01:40:38 2007 +0200 Driver core: warn when userspace writes to the uevent file in a non-supported way In the future we will allow the uevent type to be written to the uevent file to trigger the different types of uevents. But for now, as we only support the ADD event, warn if userspace tries to write anything else to this file. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 16574dccd8f62dc1b585325f8a6a0aab10047ed8 Author: Kay Sievers Date: Fri Apr 6 01:40:38 2007 +0200 Driver core: make uevent-environment available in uevent-file This allows sysfs to show the environment variables that are available if the uevent happens. This lets userspace not have to cache all of this information as the kernel already knows it. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4628803062d93dadc6ba8e801fd075526904a38c Author: Greg Kroah-Hartman Date: Mon Apr 9 11:52:31 2007 -0400 kobject core: remove rwsem from struct subsystem It isn't used at all by the driver core anymore, and the few usages of it within the kernel have now all been fixed as most of them were using it incorrectly. So remove it. Now the whole struct subsys can be removed from the system, but that's for a later patch... Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 2f66858a0ae48faf4c8dc19042f3aff52208dc57 Author: Cornelia Huck Date: Tue Apr 17 13:01:38 2007 +0200 qeth: Remove usage of subsys.rwsem the current driver tree contains the removal of subsys.rwsem. Unfortunately, this breaks qeth. However, it should be no problem to fix the walking of the devices for /proc/qeth: No need to take subsys.rwsem during walking the devices, driver_find_devices() should already suffice. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 87aebe078e450795d336d20304d01095251ff9fa Author: Greg Kroah-Hartman Date: Mon Apr 9 11:52:31 2007 -0400 PHY: remove rwsem use from phy core The subsystem rwsem is not used by the driver core at all, so the use of it in the phy code doesn't make any sense. They might possibly want to use a local lock, but I am unsure about that. Cc: netdev Signed-off-by: Greg Kroah-Hartman commit a2a0f74dc1e7d588b0ba6a1d177f42bef18117d0 Author: Greg Kroah-Hartman Date: Mon Apr 9 11:52:31 2007 -0400 IEEE1394: remove rwsem use from ieee1394 core The subsystem rwsem is not used by the driver core at all, so the use of it in the ieee1394 code doesn't make any sense. They might possibly want to use a local lock, but as most of these operations are already protected by a local lock, it really doesn't look like it would be needed. Cc: Ben Collins Cc: Stefan Richter Cc: linux1394-devel Signed-off-by: Greg Kroah-Hartman commit c401110186cc0ce2f0e4a03695af115e6c177d95 Author: Greg Kroah-Hartman Date: Mon Apr 9 11:52:31 2007 -0400 IDE: remove rwsem use from ide-proc core The subsystem rwsem is not used by the driver core at all, so the use of it in the ide-proc code of it doesn't make any sense. Perhaps a local lock might be needed, but I do not really think so. Cc: Bartlomiej Zolnierkiewicz Cc: linux ide Signed-off-by: Greg Kroah-Hartman commit 79580057de60867f535b7e7ec17c85709853d6bf Author: Dmitry Torokhov Date: Tue Apr 10 00:40:48 2007 -0400 Input: gameport - do not touch bus's rwsem The subsystem rwsem is not used by the driver core at all, so there is no point in trying to access it. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 70f256fda1649fbb3deea37e86342f6139a0a82c Author: Dmitry Torokhov Date: Tue Apr 10 00:40:27 2007 -0400 Input: serio - do not touch bus's rwsem The subsystem rwsem is not used by the driver core at all, so there is no point in trying to access it. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 75f1115c9b1a0c24d9025865285870122ec6f811 Author: Greg Kroah-Hartman Date: Mon Apr 9 11:52:31 2007 -0400 PNP: stop using the subsystem rwsem The rwsem is not used to protect anything, so the use of it by the PNP subsystem isn't really useful, and it's doubtful if it really did anything or not. So I've removed it. Cc: Adam Belay Signed-off-by: Greg Kroah-Hartman commit 341487a837c02cbd674d4751061e7d098b0b8e98 Author: Greg Kroah-Hartman Date: Mon Apr 9 11:52:31 2007 -0400 USB: remove use of the bus rwsem, as it doesn't really protect anything. The driver core stopped using the rwsem a long time ago, yet the USB core still grabbed the lock, thinking it protected something. This patch removes that useless use. Cc: Alan Stern Cc: Oliver Neukum Cc: David Brownell Cc: linux-usb-devel Signed-off-by: Greg Kroah-Hartman commit b7bb125dc3d0ca3f72c9116525ce0f018a9844e1 Author: Greg Kroah-Hartman Date: Mon Apr 9 11:52:31 2007 -0400 SCSI: use the proper semaphore to protect the class lists SCSI was using the incorrect lock to protect walking the list of all devices in the class. This patch fixes this. Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 49f019d66d056ebb261d261d7c89cb698f5eec18 Author: Greg Kroah-Hartman Date: Mon Apr 9 11:52:31 2007 -0400 Driver core: remove use of rwsem This lock is never used by the rest of the driver core, so the fact that we are grabbing it here means it isn't correct... Signed-off-by: Greg Kroah-Hartman commit 88db4721d47bc59b92d46de04e21c7975ea983f2 Author: Cornelia Huck Date: Tue Apr 10 14:35:27 2007 +0200 kobject: kobject_add() reference leak We leak a reference if we attempt to add a kobject with no name. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 14193fb91a7d88d3fe55d3160892edeb2b02e0c2 Author: John Anthony Kazos Jr Date: Wed Apr 4 07:39:17 2007 -0400 Kobject: kobject_uevent.c: Collapse unnecessary loop nesting (top_kobj) Collapses a do..while() loop within an if() to a simple while() loop for simplicity and readability. Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Greg Kroah-Hartman commit f89cbc399ecd924c4bd879344e662aace2274b4f Author: Dmitry Torokhov Date: Tue Apr 3 01:08:40 2007 -0400 Driver core: add suspend() and resume() to struct device_type Driver core: add suspend() and resume() to struct device_type In cases when there are devices of different types in the same class we can't use class's implementation of suspend and resume methods and we need to add them to struct device_type instead. Also fix error handling in resume code (we should not try to call class's resume method iof bus's resume method for the device failed. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit bf62456eb91f3d2ef0736081583d09b0b3c8b7ea Author: Eric Rannaud Date: Fri Mar 30 22:23:12 2007 -0700 uevent: use add_uevent_var() instead of open coding it Make use of add_uevent_var() instead of (often incorrectly) open coding it. Signed-off-by: Michael Ellerman Signed-off-by: Eric Rannaud Cc: Kay Sievers Cc: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit bdc4960a0b4831a24276b65f1f7afdfc57f2f5cf Author: Cornelia Huck Date: Thu Mar 29 11:12:14 2007 +0200 Driver core: switch firmware_class to uevent_suppress. Use uevent_suppress instead of returning an error code in firmware_uevent(). Get rid of the now unneeded FW_STATUS_READY and FW_STATUS_READY_NOHOTPLUG. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 83b5fb4cce13b9f7b218ed88ee05387c3f3bdda3 Author: Cornelia Huck Date: Thu Mar 29 11:12:11 2007 +0200 Driver core: suppress uevents via filter Suppress uevents for devices if uevent_suppress is set via dev_uevent_filter(). This makes the driver core suppress all device uevents, not just the add event in device_add(). Signed-off-by: Cornelia Huck Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ca2f37dbc5324c7278577731033a358f1f86050a Author: Jean Tourrilhes Date: Wed Mar 7 10:49:30 2007 -0800 Driver core: notify userspace of network device renames Provide rename event for when we rename network devices. Signed-off-by: Jean Tourrilhes Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1b0b3b9980e482ab7c603430462538334f69f14a Author: Oliver Neukum Date: Mon Apr 2 14:47:59 2007 +0200 kref: fix CPU ordering with respect to krefs some atomic operations are only atomic, not ordered. Thus a CPU is allowed to reorder memory references to an object to before the reference is obtained. This fixes it. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 74e9f5fa1570f956c96dd5d3f1053daedbbf01a0 Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 Driver core: remove unneeded completion from driver release path The completion in the driver release path is due to ancient history in the _very_ early 2.5 days when we were not tracking the module reference count of attributes. It is not needed at all and can be removed. Note, we now have an empty release function for the driver structure. This is due to the fact that drivers are statically allocated in the system at this point in time, something which I want to change in the future. But remember, drivers are really code, which is reference counted by the module, unlike devices, which are data and _must_ be reference counted properly in order to work correctly. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c6a46696f97ff260a4ecce5e287f8de4b9d7fe14 Author: Cornelia Huck Date: Mon Feb 5 16:15:26 2007 -0800 driver core: don't fail attaching the device if it cannot be bound Don't fail bus_attach_device() if the device cannot be bound. If dev->driver has been specified, reset it to NULL if device_bind_driver() failed and add the device as an unbound device. As a result, bus_attach_device() now cannot fail, and we can remove some checking from device_add(). Also remove an unneeded check in bus_rescan_devices_helper(). Signed-off-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit eed40d3ad2ba652c08422d62a5ff6f62ac0be16d Author: Andrew Morton Date: Mon Feb 5 16:15:25 2007 -0800 powerpc: make it compile for multithread change arch/powerpc/kernel/of_platform.c:479: error: unknown field `multithread_probe' specified in initializer Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 21c7f30b1d3f8a3de3128478daca3ce203fc8733 Author: Cornelia Huck Date: Mon Feb 5 16:15:25 2007 -0800 driver core: per-subsystem multithreaded probing Make multithreaded probing work per subsystem instead of per driver. It doesn't make much sense to probe the same device for multiple drivers in parallel (after all, only one driver can bind to the device). Instead, create a probing thread for each device that probes the drivers one after another. Also make the decision to use multi-threaded probe per bus instead of per device and adapt the pci code. Signed-off-by: Cornelia Huck Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 460f7e9a1bde2c74f060f7ce0a308dab4be6a56b Author: Dmitriy Monakhov Date: Sat Mar 10 14:00:10 2007 +0300 kobject: kobject_shadow_add cleanup - correct function name in comments - parrent assignment does metter only inside "if" block, so move it inside this block. Signed-off-by: Monakhov Dmitriy Signed-off-by: Greg Kroah-Hartman commit 414264f959cf46f49f974b3510400e12ac3624a6 Author: Kay Sievers Date: Mon Mar 12 21:08:57 2007 +0100 Driver core: add name to device_type If "name" of a device_type is specified, the uevent will contain the device_type name in the DEVTYPE variable. This helps userspace to distingiush between different types of devices, belonging to the same subsystem. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 621a1672f7377e08a942f205d6742d8af1292aab Author: Dmitry Torokhov Date: Sat Mar 10 01:37:34 2007 -0500 driver core: Use attribute groups in struct device_type Driver core: use attribute groups in struct device_type Attribute groups are more flexible than attribute lists (an attribute list can be represented by anonymous group) so switch struct device_type to use them. Also rework attribute creation for devices so that they all cleaned up properly in case of errors. Signed-off-by: Dmitry Torokhov Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b8c5cec23d5c33b767a1cddebd4f8813a9563e3c Author: Kay Sievers Date: Fri Feb 16 17:33:36 2007 +0100 Driver core: udev triggered device-<>driver binding We get two per-bus sysfs files: ls-l /sys/subsystem/usb drwxr-xr-x 2 root root 0 2007-02-16 16:42 devices drwxr-xr-x 7 root root 0 2007-02-16 14:55 drivers -rw-r--r-- 1 root root 4096 2007-02-16 16:42 drivers_autoprobe --w------- 1 root root 4096 2007-02-16 16:42 drivers_probe The flag "drivers_autoprobe" controls the behavior of the bus to bind devices by default, or just initialize the device and leave it alone. The command "drivers_probe" accepts a bus_id and the bus tries to bind a driver to this device. Systems who want to control the driver binding with udev, switch off the bus initiated probing: echo 0 > /sys/subsystem/usb/drivers_autoprobe echo 0 > /sys/subsystem/pcmcia/drivers_autoprobe ... and initiate the probing with udev rules like: ACTION=="add", SUBSYSTEM=="usb", ATTR{subsystem/drivers_probe}="$kernel" ACTION=="add", SUBSYSTEM=="pcmcia", ATTR{subsystem/drivers_probe}="$kernel" ... Custom driver binding can happen in earlier rules by something like: ACTION=="add", SUBSYSTEM=="usb", \ ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678" \ ATTR{subsystem/drivers//bind}="$kernel" This is intended to solve the modprobe.conf mess with "install-rules", custom bind/unbind-scripts and all the weird things people invented over the years. It should also provide the functionality "libusual" was supposed to do. With udev, one can just write a udev rule to drive all USB-disks at the third port of USB-hub by the "ub" driver, and everything else by usb-storage. One can also instruct udev to bind different wireless drivers to identical cards - just selected by the pcmcia slot-number, and whatever ... To use the mentioned rules, it needs udev version 106, to be able to write ATTR{}="$kernel" to sysfs files. Signed-off-by: Greg Kroah-Hartman commit a456b7023e0abf80bb03b0bdf5471b48878e5c49 Author: Jean Delvare Date: Fri Mar 9 16:33:10 2007 +0100 dev_printk and new-style class devices As the new-style class devices (as opposed to old-style struct class_device) are becoming more widely used, I noticed that the dev_printk-based functions are not working properly with these. New-style class devices have no driver nor bus, almost by definition, and as a result dev_driver_string(), which is used as the first parameter of dev_printk, resolves to an empty string. This causes entries like the following to show in my logs: i2c-2: adapter [SMBus stub driver] registered Notice the unaesthetical leading whitespace. In order to fix this problem, I suggest that we extend dev_driver_string to deal with new-style class devices: Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 864062457a2e444227bd368ca5f2a2b740de604f Author: Kay Sievers Date: Wed Mar 14 03:25:56 2007 +0100 driver core: fix namespace issue with devices assigned to classes - uses a kset in "struct class" to keep track of all directories belonging to this class - merges with the /sys/devices/virtual logic. - removes the namespace-dir if the last member of that class leaves the directory. There may be locking or refcounting fixes left, I stopped when it seemed to work with network and sound modules. :) From: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 00ed8e3dda47f8421b11da17e353d7db8c878121 Author: Dmitriy Monakhov Date: Sun Mar 11 15:36:19 2007 +0300 driver core: fix device_add error path - At the moment we jump here device was't added to dev->class->devices list yet. Signed-off-by: Monakhov Dmitriy Signed-off-by: Greg Kroah-Hartman commit a205752d1ad2d37d6597aaae5a56fc396a770868 Merge: 39bc89f... e900a7d... Author: Linus Torvalds Date: Fri Apr 27 10:47:29 2007 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: selinux: preserve boolean values across policy reloads selinux: change numbering of boolean directory inodes in selinuxfs selinux: remove unused enumeration constant from selinuxfs selinux: explicitly number all selinuxfs inodes selinux: export initial SID contexts via selinuxfs selinux: remove userland security class and permission definitions SELinux: move security_skb_extlbl_sid() out of the security server MAINTAINERS: update selinux entry SELinux: rename selinux_netlabel.h to netlabel.h SELinux: extract the NetLabel SELinux support from the security server NetLabel: convert a BUG_ON in the CIPSO code to a runtime check NetLabel: cleanup and document CIPSO constants commit 39bc89fd4019b164002adaacef92c4140e37955a Author: Ingo Molnar Date: Wed Apr 25 20:50:03 2007 -0700 make SysRq-T show all tasks again show_state() (SysRq-T) developed the buggy habbit of not showing TASK_RUNNING tasks. This was due to the mistaken belief that state_filter == -1 would be a pass-through filter - while in reality it did not let TASK_RUNNING == 0 p->state values through. Fix this by restoring the original '!state_filter means all tasks' special-case i had in the original version. Test-built and test-booted on i686, SysRq-T now works as intended. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20f09390b2da2432309afe8aaa0bd64ec64c4584 Author: Daniel Walker Date: Thu Apr 26 09:46:05 2007 -0700 seqlocks: trivial remove weird whitespace Signed-off-by: Daniel Walker Signed-off-by: Linus Torvalds commit b928ed56182b8ea59bd43f2d5b865f13a54d5719 Merge: ea6db58... d468a03... Author: Linus Torvalds Date: Fri Apr 27 10:42:35 2007 -0700 Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6 * 'for-linus' of git://git.infradead.org/ubi-2.6: UBI: remove unused variable UBI: add me to MAINTAINERS JFFS2: add UBI support UBI: Unsorted Block Images commit ea6db58f3ea55f413c882095d2afaea8137f4f8c Merge: c58b8e4... 8341897... Author: Linus Torvalds Date: Fri Apr 27 10:29:56 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: (27 commits) ocfs2: Cache extent records ocfs2: Remember rw lock level during direct io ocfs2: Fix up i_blocks calculation to know about holes ocfs2: Fix extent lookup to return true size of holes ocfs2: Read from an unwritten extent returns zeros ocfs2: make room for unwritten extents flag ocfs2: Use own splice write actor ocfs2: Use do_sync_mapping_range() in ocfs2_zero_tail_for_truncate() [PATCH] Turn do_sync_file_range() into do_sync_mapping_range() ocfs2: zero tail of sparse files on truncate ocfs2: Teach ocfs2_get_block() about holes ocfs2: remove ocfs2_prepare_write() and ocfs2_commit_write() ocfs2: teach ocfs2_file_aio_write() about sparse files ocfs2: Turn off shared writeable mmap for local files systems with holes. ocfs2: abstract out allocation locking ocfs2: teach extend/truncate about sparse files ocfs2: temporarily remove extent map caching ocfs2: sparse b-tree support ocfs2: small cleanup of ocfs2_request_delete() ocfs2: remove unused code ... commit c58b8e4a25a1ba347a0e5d21984c97bd296f1691 Merge: afc2e82... f50393f... Author: Linus Torvalds Date: Fri Apr 27 10:14:53 2007 -0700 Merge branch 'e1000-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'e1000-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: e1000: FIX: Stop raw interrupts disabled nag from RT e1000: FIX: firmware handover bits e1000: FIX: be ready for incoming irq at pci_request_irq commit afc2e82c0851317931a9bfdb98271253371825c6 Merge: 0278ef8... 1912ffb... Author: Linus Torvalds Date: Fri Apr 27 09:39:27 2007 -0700 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: (49 commits) IB: Set class_dev->dev in core for nice device symlink IB/ehca: Implement modify_port IB/umad: Clarify documentation of transaction ID IPoIB/cm: spin_lock_irqsave() -> spin_lock_irq() replacements IB/mad: Change SMI to use enums rather than magic return codes IB/umad: Implement GRH handling for sent/received MADs IB/ipoib: Use ib_init_ah_from_path to initialize ah_attr IB/sa: Set src_path_bits correctly in ib_init_ah_from_path() IB/ucm: Simplify ib_ucm_event() RDMA/ucma: Simplify ucma_get_event() IB/mthca: Simplify CQ cleaning in mthca_free_qp() IB/mthca: Fix mthca_write_mtt() on HCAs with hidden memory IB/mthca: Update HCA firmware revisions IB/ipath: Fix WC format drift between user and kernel space IB/ipath: Check that a UD work request's address handle is valid IB/ipath: Remove duplicate stuff from ipath_verbs.h IB/ipath: Check reserved memory keys IB/ipath: Fix unit selection when all CPU affinity bits set IB/ipath: Don't allow QPs 0 and 1 to be opened multiple times IB/ipath: Disable IB link earlier in shutdown sequence ... commit 0278ef8b484a71917bd4f03a763285cdaac10954 Merge: 15c5403... cd9ad58... Author: Linus Torvalds Date: Fri Apr 27 09:29:04 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (67 commits) [SCSI] SUNESP: Complete driver rewrite to version 2.0 [SPARC64]: Convert PCI over to generic struct iommu/strbuf. [SPARC]: device_node name constification fallout [SPARC64]: Convert SBUS over to generic iommu/strbuf structs. [SPARC64]: Add generic iommu and strbuf structs to iommu.h [SPARC64]: Consolidate {sbus,pci}_iommu_arena. [SPARC]: Make device_node name and type const [SPARC64]: constify some paramaters of OF routines [TIGON3]: of_get_property() returns const. [SPARC64]: Fix PCI rework to adhere to of_get_property() const return. [SPARC64]: Document and fix calculation of pages_avail. [SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn(). [SPARC64]: Add proper header file extern for cmdline_memory_size. [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb() [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c [SPARC64]: Give move verbose show_mem() output just like i386. [SPARC64]: Mark show_mem() printk's with KERN_INFO. [SPARC64]: Kill kvaddr_to_phys() and friends. [SPARC64]: Privatize sun4u_get_pte() and fix name. ... commit 15c54033964a943de7b0763efd3bd0ede7326395 Merge: ad5da3c... 912a41a... Author: Linus Torvalds Date: Fri Apr 27 09:26:46 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits) [IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res) [IPV6]: Fix thinko in ipv6_rthdr_rcv() changes. [IPV4]: Add multipath cached to feature-removal-schedule.txt [WIRELESS] cfg80211: Clarify locking comment. [WIRELESS] cfg80211: Fix locking in wiphy_new. [WEXT] net_device: Don't include wext bits if not required. [WEXT]: Misc code cleanups. [WEXT]: Reduce inline abuse. [WEXT]: Move EXPORT_SYMBOL statements where they belong. [WEXT]: Cleanup early ioctl call path. [WEXT]: Remove options. [WEXT]: Remove dead debug code. [WEXT]: Clean up how wext is called. [WEXT]: Move to net/wireless [AFS]: Eliminate cmpxchg() usage in vlocation code. [RXRPC]: Fix pointers passed to bitops. [RXRPC]: Remove bogus atomic_* overrides. [AFS]: Fix u64 printing in debug logging. [AFS]: Add "directory write" support. [AFS]: Implement the CB.InitCallBackState3 operation. ... commit ad5da3cf39a5b11a198929be1f2644e17ecd767e Merge: da8ac5e... 14cf232... Author: Linus Torvalds Date: Fri Apr 27 09:20:51 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: (22 commits) [MIPS] Don't force frame pointers for lockdep on MIPS [MIPS] update vr41xx Kconfig [MIPS] remove 2 select entries for VR41xx [MIPS] rename VR41XX to VR4100 series [MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED. [MIPS] Replace old fashioned "__typeof" with "__typeof__". [MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c. [MIPS] Change PCI host bridge setup/resources [MIPS] Register PCI host bridge resource earlier [MIPS] Remove pnx8550-v2pci_defconfig [MIPS] Add bcm1480 ZBus trace support, fix wait related bugs [MIPS] Updated Sibyte headers [MIPS] Remove unused argument from kunmap_coherent(). [MIPS] Malta: Delete unused prototype of mips_timer_interrupt. [MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected [MIPS] MIPS Tech: Get rid of volatile in core code. [MIPS] IP22: Get rid of volatile in IP22 core code. [MIPS] JMR3927 cleanup [MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines [MIPS] Cobalt: Split PCI codes from setup.c ... commit da8ac5e0fab11d0e84be4e49aaaa828c52d17097 Merge: 32f15dc... cb629a0... Author: Linus Torvalds Date: Fri Apr 27 09:15:31 2007 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (38 commits) [S390] SPIN_LOCK_UNLOCKED cleanup in drivers/s390 [S390] Clean up smp code in preparation for some larger changes. [S390] Remove debugging junk. [S390] Switch etr from tasklet to workqueue. [S390] split page_test_and_clear_dirty. [S390] Processor degradation notification. [S390] vtime: cleanup per_cpu usage. [S390] crypto: cleanup. [S390] sclp: fix coding style. [S390] vmlogrdr: stop IUCV connection in vmlogrdr_release. [S390] sclp: initialize early. [S390] ctc: kmalloc->kzalloc/casting cleanups. [S390] zfcpdump support. [S390] dasd: Add ipldev parameter. [S390] dasd: Add sysfs attribute status and generate uevents. [S390] Improved kernel stack overflow checking. [S390] Get rid of console setup functions. [S390] No execute support cleanup. [S390] Minor fault path optimization. [S390] Use generic bug. ... commit 32f15dc5e6252f03aa2e04a2b140827a8297f21f Merge: 07db59b... 8224ca1... Author: Linus Torvalds Date: Fri Apr 27 09:14:46 2007 -0700 Merge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32 * 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32: (21 commits) [AVR32] Fix compile error with gcc 4.1 avr32: remove unneeded cast in atomic.h AVR32: Remove useless config option "GENERIC_BUST_SPINLOCK". [AVR32] Optimize the TLB miss handler [AVR32] Board code for ATNGW100 [AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io [AVR32] Get rid of board_setup_fbmem() [AVR32] Reserve framebuffer memory in early_parse_fbmem() [AVR32] Simplify early handling of memory regions [AVR32] Move setup_bootmem() from mm/init.c to kernel/setup.c [AVR32] Make I/O access macros work with external devices [AVR32] Fix NMI handler [AVR32] Clean up exception handling code [AVR32] Clean up cpu identification and add features bitmap [AVR32] Clean up asm/sysreg.h [AVR32] Don't enable clocks with no users [AVR32] Put cpu in sleep 0 when idle. [AVR32] Change system timer from count-compare to Timer/Counter 0 [AVR32] Add mach-specific Kconfig [AVR32] Add nwait and tdf parameters to SMC configuration ... commit 07db59bd6b0f279c31044cba6787344f63be87ea Author: Linus Torvalds Date: Fri Apr 27 09:10:47 2007 -0700 Change default dirty-writeback limits Do this really early in the 2.6.22-rc series, so that we'll get feedback. And don't change by half measures. Just cut the default dirty limit to a quarter of what it was, and see if anybody even notices. Signed-off-by: Linus Torvalds commit 14cf232ab161ce87ca538af3daad5f717c20d487 Author: Franck Bui-Huu Date: Thu Apr 26 00:20:15 2007 -0700 [MIPS] Don't force frame pointers for lockdep on MIPS Stacktrace support on MIPS doesn't use frame pointers. Since this option considerably increases the size of the kernel code, force lockdep to not use it. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit c4be17370b76bc6c23a239ca512fe360785d2369 Author: Yoichi Yuasa Date: Thu Apr 26 19:53:59 2007 +0900 [MIPS] update vr41xx Kconfig This patch has updated vr41xx/Kconfig. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 678f4e34a66eb364f4f8e7dc82746c3df14dc1e8 Author: Yoichi Yuasa Date: Thu Apr 26 19:51:31 2007 +0900 [MIPS] remove 2 select entries for VR41xx This patch has removed 2 select entries for VR41xx. These entries are selected in arch/mips/vr41xx/Kconfig. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 74142d65b23b46587ea329202e957c901d9a57a1 Author: Yoichi Yuasa Date: Thu Apr 26 19:45:09 2007 +0900 [MIPS] rename VR41XX to VR4100 series This patch has renamed VR41XX to VR4100 series. That's better. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 820c229f6c82bb91c0dbfbce90f7e6eb9639c7ab Author: Milind Arun Choudhary Date: Thu Apr 19 15:05:16 2007 +0530 [MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED. Signed-off-by: Milind Arun Choudhary Signed-off-by: Ralf Baechle commit a4c9bb7d22aa61ec585984f46df185669e557e3d Author: Robert P. J. Day Date: Tue Apr 10 06:23:27 2007 -0400 [MIPS] Replace old fashioned "__typeof" with "__typeof__". [Robert's original log message said this was a bug but it isn't, it's just very old fashioned syntax that is not (no longer?) documented in the gcc documentation. So for the sake of uniformity I'm applying his patch but with a modified log message. -- Ralf] Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit 05bc284a719b778243f51e23c88fe6cefe6b219b Author: Ralf Baechle Date: Thu Apr 26 15:46:28 2007 +0100 [MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c. Signed-off-by: Ralf Baechle commit bea771751c116a690054581902b4144fe5a4520e Author: Thomas Bogendoerfer Date: Sun Apr 8 13:34:57 2007 +0200 [MIPS] Change PCI host bridge setup/resources PCI host bridge setup for SNI RM machines with PCI is quite broken, now that Linux does it's resource setup own its own. It will use IO addresses, which are needed by the EISA config detection and assigns PCI memory addresses, which overlap with ISA legacy addresses (video ram). Below is a patch, which changes the way how the PCI memory addresses are used and sets the minimum IO address to give enough IO space for 8 EISA slots). This patch needs the other PCI resource change, I've posted. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 639702bd725b3cc1a9bd442a7822c83849d66e91 Author: Thomas Bogendoerfer Date: Sun Apr 8 13:28:44 2007 +0200 [MIPS] Register PCI host bridge resource earlier PCI based SNI RM machines have their EISA bus behind an Intel PCI/EISA bridge. So the PCI IO range must start at 0x0000. Changing that will break the PCI bus, because i8259.c already has registered it's IO addresses before the PCI bus gets initialized. Below is a patch, which will register the PCI host bridge resources inside register_pci_controller(). It also changes i8259.c to use insert_region(), because request_resource() will fail, if the IO space of the PIT hanging of the PCI host bridge (maybe passing the resource parent to init_i8259_irqs() is a cleaner fix for that). Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 3c5e370600c2dda8a4f59f841f323df04e6ce7b2 Author: Yoichi Yuasa Date: Wed Apr 4 16:40:52 2007 +0900 [MIPS] Remove pnx8550-v2pci_defconfig Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit d619f38fdacb5cec0c841798bbadeaf903868852 Author: Mark Mason Date: Thu Mar 29 11:39:56 2007 -0700 [MIPS] Add bcm1480 ZBus trace support, fix wait related bugs Make ZBus tracing generic - moving it to a common direcotry under arch/mips/sibyte, add bcm1480 support and fix some wait related bugs (thanks to Ralf for assistance on that). Signed-off-by: Mark Mason Signed-off-by: Ralf Baechle commit 8deab1144b553548fb2f1b51affdd36dcd652aaa Author: Mark Mason Date: Wed Mar 28 14:40:25 2007 -0700 [MIPS] Updated Sibyte headers This is an update to the earlier patch for the sibyte headers, and superceeds the previous patch. Changes were necessary to get the tbprof driver working on the bcm1480. Patch to update Sibyte header files to match master versions maintained at Broadcom. This patch also corrects some whitespace problems, and (hopefully) shouldn't introduce any new ones. Signed-off-by: Mark Mason Signed-off-by: Ralf Baechle commit eacb9d61919db56482dcea7ec943c9508175dc16 Author: Ralf Baechle Date: Thu Apr 26 15:46:25 2007 +0100 [MIPS] Remove unused argument from kunmap_coherent(). Signed-off-by: Ralf Baechle commit e3cf10e93f42171224e88b06c226d450f3b3a55f Author: Ralf Baechle Date: Thu Apr 26 15:46:25 2007 +0100 [MIPS] Malta: Delete unused prototype of mips_timer_interrupt. Signed-off-by: Ralf Baechle commit 05502339332564ffd545be9ca37b208296a2eaad Author: Atsushi Nemoto Date: Wed Mar 21 00:36:02 2007 +0900 [MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f197465384bf7ef1af184c2ed1a4e268911a91e3 Author: Ralf Baechle Date: Thu Apr 26 15:46:24 2007 +0100 [MIPS] MIPS Tech: Get rid of volatile in core code. Signed-off-by: Ralf Baechle commit 78709b9df35346965b214e0e548412748d147776 Author: Ralf Baechle Date: Thu Apr 26 15:46:24 2007 +0100 [MIPS] IP22: Get rid of volatile in IP22 core code. Signed-off-by: Ralf Baechle commit 2127435e57a15f1fea8d6969e264eeb05b28ba4b Author: Atsushi Nemoto Date: Thu Mar 15 00:58:28 2007 +0900 [MIPS] JMR3927 cleanup * Kill dead codes * Rearrange irq chip handlers * Minimize defconfig Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 252161eccd1a44f32a506d0fedb424d4ff84e4dc Author: Yoichi Yuasa Date: Wed Mar 14 21:51:26 2007 +0900 [MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines This patch has merged GT64111 PCI routines and GT64120 PCI_0 routines. GT64111 PCI is almost the same as GT64120's PCI_0. This patch don't change GT64120 PCI routines. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 2a9effc67804102d6d5182eb0116520588ae2256 Author: Yoichi Yuasa Date: Mon Mar 5 19:10:03 2007 +0900 [MIPS] Cobalt: Split PCI codes from setup.c It's removed #ifdef CONFIG_PCI/#endif from cobalt setup.c . Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit cc50b67dcd84c6215232c0e1c95e24786e555782 Author: Yoichi Yuasa Date: Tue Mar 6 21:34:44 2007 +0900 [MIPS] Cobalt: clean up include files Signed-off-by: Yoichi Yuasa commit 7f5a7716dc0b380fd3c85ca5a5841969555feaa7 Author: Ralf Baechle Date: Wed Apr 25 15:08:57 2007 +0100 [MIPS] Fix AP/SP to work in the reality of modern kernels. Signed-off-by: Ralf Baechle commit 78ab67da1002d954ea4c3e2b441e2483c41f94e8 Author: Knobloch, Thomas Date: Fri Apr 27 13:19:36 2007 +0200 [MTD] [NAND] Wrong calculation of page number in nand_block_bad() In case that there is no memory based bad block table available the function nand_block_checkbad() in drivers/mtd/nand/nand_base.c will call nand_block_bad() directly. When parameter 'getchip' is set to zero, nand_block_bad() will not right shift the offset to calculate the correct page number. Signed-off-by: Thomas Knobloch Signed-off-by: David Woodhouse commit cb629a01bb5bca951287e761c590a5686c6ca416 Author: Milind Arun Choudhary Date: Fri Apr 27 16:02:01 2007 +0200 [S390] SPIN_LOCK_UNLOCKED cleanup in drivers/s390 SPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Milind Arun Choudhary Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 39ce010d38bf6703b49f59eb73bef030b1d659f2 Author: Heiko Carstens Date: Fri Apr 27 16:02:00 2007 +0200 [S390] Clean up smp code in preparation for some larger changes. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 9ff6f4577e69801a43c0d58606a80040aecbc4bc Author: Martin Schwidefsky Date: Fri Apr 27 16:01:59 2007 +0200 [S390] Remove debugging junk. arch/s390/appldata/appldata_base.c has some confusing debugging code left over to allow compiling it as a module. In practice, it cannot be configured as module and there is no need to keep that code. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit ecdcc0234b27472b561378ac59e2beeea06ec6ff Author: Martin Schwidefsky Date: Fri Apr 27 16:01:58 2007 +0200 [S390] Switch etr from tasklet to workqueue. The clock synchronization of the ETR code requires an smp_call_function to synchronize all cpus. Calling smp_call_function from a tasklet is illegal. Replace the tasklet with a job on the global workqueue. ETR work is rare and can be postponed to a be done by a kernel thread. Signed-off-by: Martin Schwidefsky commit 6c210482ae4a9a5bb9377ad250feaacec3faa3cd Author: Martin Schwidefsky Date: Fri Apr 27 16:01:57 2007 +0200 [S390] split page_test_and_clear_dirty. The page_test_and_clear_dirty primitive really consists of two operations, page_test_dirty and the page_clear_dirty. The combination of the two is not an atomic operation, so it makes more sense to have two separate operations instead of one. In addition to the improved readability of the s390 version of SetPageUptodate, it now avoids the page_test_dirty operation which is an insert-storage-key-extended (iske) instruction which is an expensive operation. Signed-off-by: Martin Schwidefsky commit 2fc2d1e9ffcde78af7ab63ed640d9a4901797de2 Author: Heiko Carstens Date: Fri Apr 27 16:01:56 2007 +0200 [S390] Processor degradation notification. Generate uevents for all cpus if cpu capability changes. This can happen e.g. because the cpus are overheating. The cpu capability can be read via /sys/devices/system/cpu/cpuN/capability. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit db77aa5f3d01fe6a6cc629dbd37936b1fdd129ba Author: Jan Glauber Date: Fri Apr 27 16:01:55 2007 +0200 [S390] vtime: cleanup per_cpu usage. Replace per_cpu(... , smp_processor_id()) with __get_cpu_var() Signed-off-by: Jan Glauber Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 131a395c18af43d824841642038e5cc0d48f0bd2 Author: Jan Glauber Date: Fri Apr 27 16:01:54 2007 +0200 [S390] crypto: cleanup. Cleanup code and remove obsolete documentation. Signed-off-by: Jan Glauber Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6d4740c89c187ee8f5ac7355c4eeffda26493d1f Author: Stefan Haberland Date: Fri Apr 27 16:01:53 2007 +0200 [S390] sclp: fix coding style. Use only capital letters for defines. Cc: Peter Oberparleiter Signed-off-by: Stefan Haberland Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 66b494a7178cbd84d8fc0e5f1e92d81fb6ec9f6e Author: Ursula Braun Date: Fri Apr 27 16:01:52 2007 +0200 [S390] vmlogrdr: stop IUCV connection in vmlogrdr_release. Reopen of /dev/account failed. The IUCV path has to be terminated in vmlogrdr_release. Signed-off-by: Ursula Braun Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b3d00c3b9278876b84a808bc513048b145fdef90 Author: Peter Oberparleiter Date: Fri Apr 27 16:01:51 2007 +0200 [S390] sclp: initialize early. Add explicit sclp initialization for those sclp users that do not register with the interface. Signed-off-by: Peter Oberparleiter Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b7127dfeed3252a76aa31f016aac5fba53d99711 Author: Ahmed S. Darwish Date: Fri Apr 27 16:01:50 2007 +0200 [S390] ctc: kmalloc->kzalloc/casting cleanups. A patch for the CTC / ESCON network driver. Switch from kmalloc to kzalloc when appropriate, remove some unnecessary kmalloc casts too. Since I have no s390 machine, I didn't compile it but I examined it carefully. Signed-off-by: "Ahmed S. Darwish" Cc: Frank Pavlic Cc: Ursula Braun Signed-off-by: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 411ed3225733dbd83b4cbaaa992ef80d6ec1534e Author: Michael Holzheu Date: Fri Apr 27 16:01:49 2007 +0200 [S390] zfcpdump support. s390 machines provide hardware support for creating Linux dumps on SCSI disks. For creating a dump a special purpose dump Linux is used. The first 32 MB of memory are saved by the hardware before the dump Linux is booted. Via an SCLP interface, the saved memory can be accessed from Linux. This patch exports memory and registers of the crashed Linux to userspace via a debugfs file. For more information refer to Documentation/s390/zfcpdump.txt, which is included in this patch. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 7039d3a11c4b4b59f9ef933b4b0a28304bdd07d1 Author: Peter Oberparleiter Date: Fri Apr 27 16:01:48 2007 +0200 [S390] dasd: Add ipldev parameter. Specifying 'ipldev' in the dasd= kernel parameter will automatically activate the boot device for use by the dasd driver. Signed-off-by: Peter Oberparleiter Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4dfd5c4593e69e9d399dd9e01d184dc534408f7e Author: Horst Hummel Date: Fri Apr 27 16:01:47 2007 +0200 [S390] dasd: Add sysfs attribute status and generate uevents. This patch adds a sysfs-attribute 'status' to make the DASD device-status accessible from user-space. In addition, the DASD driver generates an uevent(CHANGE) for the ccw-device on each device-status change. This enables user-space applications (e.g. udev) to do related processing. Signed-off-by: Horst Hummel Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit be7962856d299a0f231ac36f89f4a89cbecfe0ff Author: Martin Schwidefsky Date: Fri Apr 27 16:01:46 2007 +0200 [S390] Improved kernel stack overflow checking. Recent cvs versions of gcc have support for an improved stack overflow checking that calculates the size of the guard size for each function. If the compiler accepts -mstack-size without -mstack-guard then the new stack check is available. We always want to use the new stack checker. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 60691d3c2c0fe9ecc264741ff41f283fef579b8a Author: Heiko Carstens Date: Fri Apr 27 16:01:45 2007 +0200 [S390] Get rid of console setup functions. We get this: Section mismatch: reference to .init.text:con3270_consetup from .data between 'con3270' (at offset 0x45c8) and 'con3270_fn' Section mismatch: reference to .init.text:con3215_consetup from .data between 'con3215' (at offset 0x4678) and 'raw3215_ccw_driver' Since there is no difference between a non present console setup function and one that returns only 0 remove them. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit be5ec363e958982454ac9b3138b0e78c032e758d Author: Martin Schwidefsky Date: Fri Apr 27 16:01:44 2007 +0200 [S390] No execute support cleanup. Simplify the signal_return function that checks for the two special system calls sigreturn and rt_sigreturn. No need to do a page table walk, a call to copy_from_user while disabled page faults will work as well. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 10c1031f706bbe0690d84cdbccad15b11c6dc661 Author: Martin Schwidefsky Date: Fri Apr 27 16:01:43 2007 +0200 [S390] Minor fault path optimization. The minor fault path has grown a lot in terms of cycles. In particular the kprobes hook is very costly. Optimize the path to save a couple of cycles. If kprobes is enabled more than 300 cycles can be avoided if kprobes_running() is false. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit c0007f1a65762eaf55633d403b380130ec60adad Author: Heiko Carstens Date: Fri Apr 27 16:01:42 2007 +0200 [S390] Use generic bug. Generic bug implementation for s390. Will increase the value of the console output on BUG() statements since registers r0-r5,r14 will not be clobbered by a printk() call that was previously done before the illegal instruction of BUG() was hit. Also implements an architecture specific WARN_ON(). Output of that could be increased but requires common code change. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit bb11e3bdbac08f773a89f3ca287024a956ee8a12 Author: Martin Schwidefsky Date: Fri Apr 27 16:01:41 2007 +0200 [S390] Improved oops output. This patch adds two improvements to the oops output. First it adds an additional line after the PSW which decodes the different fields of it. Second a disassembler is added that decodes the instructions surrounding the faulting PSW. The output of a test oops now looks like this: kernel BUG at init/main.c:419 illegal operation: 0001 [#1] CPU: 0 Not tainted Process swapper (pid: 0, task: 0000000000464968, ksp: 00000000004be000) Krnl PSW : 0700000180000000 00000000000120b6 (rest_init+0x36/0x38) R:0 T:1 IO:1 EX:1 Key:0 M:0 W:0 P:0 AS:0 CC:0 PM:0 EA:3 Krnl GPRS: 0000000000000003 00000000004ba017 0000000000000022 0000000000000001 000000000003a5f6 0000000000000000 00000000004be6a8 0000000000000000 0000000000000000 00000000004b8200 0000000000003a50 0000000000008000 0000000000516368 000000000033d008 00000000000120b2 00000000004bdee0 Krnl Code: 00000000000120a6: e3e0f0980024 stg %r14,152(%r15) 00000000000120ac: c0e500014296 brasl %r14,3a5d8 00000000000120b2: a7f40001 brc 15,120b4 >00000000000120b6: 0707 bcr 0,%r7 00000000000120b8: eb7ff0500024 stmg %r7,%r15,80(%r15) 00000000000120be: c0d000195825 larl %r13,33d108 00000000000120c4: a7f13f00 tmll %r15,16128 00000000000120c8: a7840001 brc 8,120ca Call Trace: ([<00000000000120b2>] rest_init+0x32/0x38) [<00000000004be614>] start_kernel+0x37c/0x410 [<0000000000012020>] _ehead+0x20/0x80 Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 03ff9a235a0602724fc54916469b6e0939c62c9b Author: Martin Schwidefsky Date: Fri Apr 27 16:01:40 2007 +0200 [S390] System call cleanup. Remove system call glue for sys_clone, sys_fork, sys_vfork, sys_execve, sys_sigreturn, sys_rt_sigreturn and sys_sigaltstack. Call do_execve from kernel_execve directly, move pt_regs to the right place and branch to sysc_return to start the user space program. This removes the last in-kernel system call. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit ef99516c9646802c3d38c3eb83de302e05b3c1b5 Author: Cornelia Huck Date: Fri Apr 27 16:01:39 2007 +0200 [S390] cio: Unregister ccw devices directly. We used to unregister ccw devices not directly from the I/O subchannel remove function in order to avoid lifelocks on the css bus semaphore. This semaphore is gone, and there is no reason to not unregister the ccw device directly (it is even better since it is more in keeping with the goal of immediate disconnect). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 8c4941c53b14e5a08ed2f270e9f087b410a9abcc Author: Cornelia Huck Date: Fri Apr 27 16:01:38 2007 +0200 [S390] cio: cm_enable memory leak. We allocage two pages when channel path measurements are enabled via cm_enable. We must not forget to free them again when channel path measurements are disabled again. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit d76123eb357a4baa653714183df286c1bb99f707 Author: Cornelia Huck Date: Fri Apr 27 16:01:37 2007 +0200 [S390] cio: ccwgroup register vs. unregister. Introduce a mutex for struct ccwgroup to prevent simuntaneous register/unregister on the same ccwgroup device. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 82b7ac058f60e0c92f9237fbaf440671f437ecdf Author: Cornelia Huck Date: Fri Apr 27 16:01:36 2007 +0200 [S390] cio: Dont call css_update_ssd_info from interrupt context. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 7ad6a24970325294a22a08446d473384c15b928e Author: Peter Oberparleiter Date: Fri Apr 27 16:01:35 2007 +0200 [S390] cio: fix subchannel channel-path data usage Ensure that channel-path related subchannel data is only retrieved and used when it is valid and that it is updated when it may have changed. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 83b3370c79b91b9be3f6540c3c914e689134b45f Author: Peter Oberparleiter Date: Fri Apr 27 16:01:34 2007 +0200 [S390] cio: replace subchannel evaluation queue with bitmap Use a bitmap for indicating which subchannels require evaluation instead of allocating memory for each evaluation request. This approach reduces memory consumption during recovery in case of massive evaluation request occurrence and removes the need for memory allocation failure handling. Cc: Heiko Carstens Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 387b734fc2b55f776b192c7afdfd892ba42347d4 Author: Stefan Bader Date: Fri Apr 27 16:01:33 2007 +0200 [S390] cio: Re-start path verification after aborting internal I/O. Path verification triggered by changes to the available CHPIDs will be interrupted by another change but not re-started. This results in an invalid path mask. To solve this make sure to completely re-start path verification when changing the available paths. Signed-off-by: Stefan Bader Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit cfbe9bb2fb5de1da58d351432a9465c22d6d3ee5 Author: Cornelia Huck Date: Fri Apr 27 16:01:32 2007 +0200 [S390] cio: Use add_uevent_var. Convert ccw_uevent to use add_uevent_var and adapt snprint_alias. Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e5854a5839fa426a7873f038080f63587de5f1f1 Author: Peter Oberparleiter Date: Fri Apr 27 16:01:31 2007 +0200 [S390] cio: Channel-path configure function. Add a new attribute to the channel-path sysfs directory through which channel-path configure operations can be triggered. Also listen for hardware events requesting channel-path configure operations and process them accordingly. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f5ba6c863617c15d22cce5f8666ff4c832773025 Author: Cornelia Huck Date: Fri Apr 27 16:01:30 2007 +0200 [S390] cio: Clean up online_store. Detangle the online_store code and make it more readable. Signed-off-by: Cornelia Huck Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c9182e0f42c5646e670c2166b6d6638052d574af Author: Peter Oberparleiter Date: Fri Apr 27 16:01:29 2007 +0200 [S390] cio: observe chpid valid flag Check validity flag of CHPID description data before continuing with channel-path initialization. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit e6b6e10ac1de116fc6d2288f185393014851cccf Author: Peter Oberparleiter Date: Fri Apr 27 16:01:28 2007 +0200 [S390] cio: Introduce separate files for channel-path related code. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit d120b2a4e60cc9e62e7cc5dcf049100af3745cc4 Author: Peter Oberparleiter Date: Fri Apr 27 16:01:27 2007 +0200 [S390] cio: Allow 0 and 1 as input for channel path status attribute. Channel path status can now be modified by writing '0' and '1' to the sysfs status attribute in addition to 'offline' and 'online' respectively. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit f86635fad14c4a6810cf0e08488fc9129a3b3b32 Author: Peter Oberparleiter Date: Fri Apr 27 16:01:26 2007 +0200 [S390] cio: Introduce struct chp_id. Introduce data type for channel-path IDs. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 6fc321fd7dd91f0592f37503219196835314fbb7 Author: Heiko Carstens Date: Fri Apr 27 16:01:25 2007 +0200 [S390] cio/ipl: Clean interface between cio and ipl code. Clean interface between cio and ipl code, so Peter stops complaining. Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 29c380f5f06d0c5a320b9bb6f8987065e7b81c91 Author: Heiko Carstens Date: Fri Apr 27 16:01:04 2007 +0200 [S390] memory detection: stop at first memory hole. If both sclp and diag memory detection don't work stop at the first memory hole. Otherwise the code might loop forever... Signed-off-by: Martin Schwidefsky Signed-off-by: Heiko Carstens commit 8224ca195874525533665bbcd23b6da1e575aa4d Author: Haavard Skinnemoen Date: Fri Apr 27 14:21:47 2007 +0200 [AVR32] Fix compile error with gcc 4.1 gcc 4.1 doesn't seem to like const variables as inline assembly outputs. Drop support for reading 64-bit values using get_user() so that we can use an unsigned long to hold the result regardless of the actual size. This should be safe since many architectures, including i386, doesn't support reading 64-bit values with get_user(). Signed-off-by: Haavard Skinnemoen commit d468a030026017008286919aa6127b1190efb2c2 Author: Artem Bityutskiy Date: Fri Apr 27 15:11:44 2007 +0300 UBI: remove unused variable Signed-off-by: Artem Bityutskiy commit a4022b0d6005b117a985cec64559e048981a4244 Author: Mathieu Desnoyers Date: Tue Apr 10 18:23:09 2007 -0400 avr32: remove unneeded cast in atomic.h This int cast is superfluous since system.h cmpxchg already casts it in (typeof(*(ptr))). Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Haavard Skinnemoen commit 0277b378c3779e3c8a413afb7d4ee00fa24a5a26 Author: Robert P. J. Day Date: Thu Apr 26 08:53:38 2007 -0400 AVR32: Remove useless config option "GENERIC_BUST_SPINLOCK". Remove the clearly useless config option GENERIC_BUST_SPINLOCK, which is not used anywhere in the tree. Signed-off-by: Robert P. J. Day Signed-off-by: Haavard Skinnemoen commit c0c3e81608fc300027f2131e351e67ab118cf24c Author: Haavard Skinnemoen Date: Wed Mar 14 13:59:13 2007 +0100 [AVR32] Optimize the TLB miss handler Reorder some instructions and change the register usage to reduce the number of pipeline stalls. Also use the bfextu and bfins instructions for bitfield manipulations instead of shifting and masking. This makes gzipping a 80MB file approximately 2% faster. Signed-off-by: Haavard Skinnemoen commit 9ca20a8366462c553c27216161c735937f9de108 Author: Haavard Skinnemoen Date: Thu Apr 12 17:26:57 2007 +0200 [AVR32] Board code for ATNGW100 Add board code and defconfig for the ATNGW100 Network Gateway kit. For more information about this board, see http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102 Signed-off-by: Haavard Skinnemoen commit 2c1a2a3441a754a9b5a8e7184071154f8a9bd61b Author: Haavard Skinnemoen Date: Wed Mar 7 10:40:44 2007 +0100 [AVR32] Use memcpy/memset in memcpy_{from,to}_io and memset_io Using readb/writeb to implement these breaks NOR flash support. I can't see any reason why regular memcpy and memset shouldn't work. Signed-off-by: Haavard Skinnemoen commit d80e2bb12606906fd0b5b5592f519852de8b0113 Author: Haavard Skinnemoen Date: Wed Mar 21 16:23:41 2007 +0100 [AVR32] Get rid of board_setup_fbmem() Since the core setup code takes care of both allocation and reservation of framebuffer memory, there's no need for this board- specific hook anymore. Replace it with two global variables, fbmem_start and fbmem_size, which can be used directly. Signed-off-by: Haavard Skinnemoen commit f9692b9501c339ec90647d8cd6ee5c106f072f9f Author: Haavard Skinnemoen Date: Wed Mar 21 16:16:50 2007 +0100 [AVR32] Reserve framebuffer memory in early_parse_fbmem() With the current strategy of using the bootmem allocator to allocate or reserve framebuffer memory, there's a slight chance that the requested area has been taken by the boot allocator bitmap before we get around to reserving it. By inserting the framebuffer region as a reserved region as early as possible, we improve our chances for success and we make the region visible as a reserved region in dmesg and /proc/iomem without any extra work. Signed-off-by: Haavard Skinnemoen commit d8011768e6bdd0d9de5cc7bdbd3077b4b4fab8c7 Author: Haavard Skinnemoen Date: Wed Mar 21 16:02:57 2007 +0100 [AVR32] Simplify early handling of memory regions Use struct resource to specify both physical memory regions and reserved regions and push everything into the same framework, including kernel code/data and initrd memory. This allows us to get rid of many special cases in the bootmem initialization and will also make it easier to implement more robust handling of framebuffer memory later. Signed-off-by: Haavard Skinnemoen commit 5539f59ac40473730806580f212c4eac6e769f01 Author: Haavard Skinnemoen Date: Wed Mar 21 15:39:18 2007 +0100 [AVR32] Move setup_bootmem() from mm/init.c to kernel/setup.c Signed-off-by: Haavard Skinnemoen commit e3e7d8d4ea37b8372ee417452d03171c5dc55125 Author: Haavard Skinnemoen Date: Mon Feb 12 16:28:56 2007 +0100 [AVR32] Make I/O access macros work with external devices Fix the I/O access macros so that they work with externally connected devices accessed in little-endian mode over any bus width: * Use a set of macros to define I/O port- and memory operations borrowed from MIPS. * Allow subarchitecture to specify address- and data-mangling * Implement at32ap-specific port mangling (with build-time configurable bus width. Only one bus width at a time supported for now.) * Rewrite iowriteN and friends to use write[bwl] and friends (not the __raw counterparts.) This has been tested using pata_pcmcia to access a CompactFlash card connected to the EBI (16-bit bus width.) Signed-off-by: Haavard Skinnemoen commit 92b728c147adb8c690b520304f4c9ee3eee43c21 Author: Haavard Skinnemoen Date: Tue Mar 13 10:06:37 2007 +0100 [AVR32] Fix NMI handler Fix a problem with the NMI handler entry code related to the NMI handler sharing some code with the exception handlers. This is not a good idea because the RSR and RAR registers are not the same, and the NMI handler runs with interrupts masked the whole time so there's no need to check for pending work. Open-code the low-level NMI handling logic instead so that the pt_regs layout is actually correct when the higher-level handler is called. Signed-off-by: Haavard Skinnemoen commit 623b0355d5b1f9c6d05005b649a2f3a7b9fd7816 Author: Haavard Skinnemoen Date: Tue Mar 13 17:59:11 2007 +0100 [AVR32] Clean up exception handling code * Use generic BUG() handling * Remove some useless debug statements * Use a common function _exception() to send signals or oops when an exception can't be handled. This makes sure init doesn't enter an infinite exception loop as well. Borrowed from powerpc. * Add some basic exception tracing support to the page fault code. * Rework dump_stack(), show_regs() and friends and move everything into process.c * Print information about configuration options and chip type when oopsing Signed-off-by: Haavard Skinnemoen commit 3b328c98093702c584692bffabd440800b383d73 Author: Haavard Skinnemoen Date: Tue Mar 13 15:30:38 2007 +0100 [AVR32] Clean up cpu identification and add features bitmap Clean up the cpu identification code, using definitions from instead of hardcoded constants. Also, add a features bitmap to struct avr32_cpuinfo to allow other code to make decisions based upon what the running cpu is actually capable of. Signed-off-by: Haavard Skinnemoen commit 535c806c26ef602d578792083df52b31803b961e Author: Haavard Skinnemoen Date: Tue Mar 13 14:17:14 2007 +0100 [AVR32] Clean up asm/sysreg.h Fix indentation and remove spurious comments in asm-avr32/sysreg.h Signed-off-by: Haavard Skinnemoen commit 188ff65d49dadf7b0e9b6718abc3fe98a5098711 Author: Haavard Skinnemoen Date: Wed Mar 14 13:23:44 2007 +0100 [AVR32] Don't enable clocks with no users Bring the code that sets the initial PM clock masks in line with the comment preceding it by only enabling clocks that have users != 0. Fix SM clock definition and avr32_hpt_init() so that the SM and TC0 clocks keep ticking. Signed-off-by: Haavard Skinnemoen commit 19b7ce8bad718a2850ea19aeb7383f1728596c24 Author: Hans-Christian Egtvedt Date: Mon Feb 26 13:50:43 2007 +0100 [AVR32] Put cpu in sleep 0 when idle. This patch puts the CPU in sleep 0 when doing nothing, idle. This will turn of the CPU clock and thus save power. The CPU is waken again when an interrupt occurs. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 7760989e5e2900e484e9115e6e690c6ce0b0221c Author: Hans-Christian Egtvedt Date: Mon Mar 12 18:15:16 2007 +0100 [AVR32] Change system timer from count-compare to Timer/Counter 0 Due to limitation of the count-compare system timer (not able to count when CPU is in sleep), the system timer had to be changed to use a peripheral timer/counter. The old COUNT-COMPARE code is still present in time.c as weak functions. The new timer is added to the architecture directory. This patch sets up TC0 as system timer The new timer has been tested on AT32AP7000/ATSTK1000 at 100 Hz, 250 Hz, 300 Hz and 1000 Hz. For more details about the timer/counter see the datasheet for AT32AP700x available at http://www.atmel.com/dyn/products/product_card.asp?part_id=3903 Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 228e845fd243bf42033998afab792357444e9e4a Author: Haavard Skinnemoen Date: Wed Mar 7 15:24:34 2007 +0100 [AVR32] Add mach-specific Kconfig Include at32ap-specific Kconfig file from top-level Kconfig file. The at32ap Kconfig is currently empty, but it will grow some machine- specific options soon. Signed-off-by: Haavard Skinnemoen commit 068d9f6eb9369a00eb45be91c07653cfef65f4a0 Author: Hans-Christian Egtvedt Date: Wed Jan 31 18:01:45 2007 +0100 [AVR32] Add nwait and tdf parameters to SMC configuration Complete the SMC configuration code by adding nwait and tdf parameter. After this change, we support the same parameters as the hardware. Signed-off-by: Haavard Skinnemoen commit 485764016d5accb813e8bdd076802a7e3318bb64 Author: Artem Bityutskiy Date: Tue Feb 13 17:11:10 2007 +0200 UBI: add me to MAINTAINERS Signed-off-by: Artem Bityutskiy commit 0029da3bf430eea498eee8cef5933f9214534b8a Author: Artem Bityutskiy Date: Wed Oct 4 19:15:21 2006 +0300 JFFS2: add UBI support This patch make JFFS2 able to work with UBI volumes via the emulated MTD devices which are directly mapped to these volumes. Signed-off-by: Artem Bityutskiy commit 801c135ce73d5df1caf3eca35b66a10824ae0707 Author: Artem B. Bityutskiy Date: Tue Jun 27 12:22:22 2006 +0400 UBI: Unsorted Block Images UBI (Latin: "where?") manages multiple logical volumes on a single flash device, specifically supporting NAND flash devices. UBI provides a flexible partitioning concept which still allows for wear-levelling across the whole flash device. In a sense, UBI may be compared to the Logical Volume Manager (LVM). Whereas LVM maps logical sector numbers to physical HDD sector numbers, UBI maps logical eraseblocks to physical eraseblocks. More information may be found at http://www.linux-mtd.infradead.org/doc/ubi.html Partitioning/Re-partitioning An UBI volume occupies a certain number of erase blocks. This is limited by a configured maximum volume size, which could also be viewed as the partition size. Each individual UBI volume's size can be changed independently of the other UBI volumes, provided that the sum of all volume sizes doesn't exceed a certain limit. UBI supports dynamic volumes and static volumes. Static volumes are read-only and their contents are protected by CRC check sums. Bad eraseblocks handling UBI transparently handles bad eraseblocks. When a physical eraseblock becomes bad, it is substituted by a good physical eraseblock, and the user does not even notice this. Scrubbing On a NAND flash bit flips can occur on any write operation, sometimes also on read. If bit flips persist on the device, at first they can still be corrected by ECC, but once they accumulate, correction will become impossible. Thus it is best to actively scrub the affected eraseblock, by first copying it to a free eraseblock and then erasing the original. The UBI layer performs this type of scrubbing under the covers, transparently to the UBI volume users. Erase Counts UBI maintains an erase count header per eraseblock. This frees higher-level layers (like file systems) from doing this and allows for centralized erase count management instead. The erase counts are used by the wear-levelling algorithm in the UBI layer. The algorithm itself is exchangeable. Booting from NAND For booting directly from NAND flash the hardware must at least be capable of fetching and executing a small portion of the NAND flash. Some NAND flash controllers have this kind of support. They usually limit the window to a few kilobytes in erase block 0. This "initial program loader" (IPL) must then contain sufficient logic to load and execute the next boot phase. Due to bad eraseblocks, which may be randomly scattered over the flash device, it is problematic to store the "secondary program loader" (SPL) statically. Also, due to bit-flips it may become corrupted over time. UBI allows to solve this problem gracefully by storing the SPL in a small static UBI volume. UBI volumes vs. static partitions UBI volumes are still very similar to static MTD partitions: * both consist of eraseblocks (logical eraseblocks in case of UBI volumes, and physical eraseblocks in case of static partitions; * both support three basic operations - read, write, erase. But UBI volumes have the following advantages over traditional static MTD partitions: * there are no eraseblock wear-leveling constraints in case of UBI volumes, so the user should not care about this; * there are no bit-flips and bad eraseblocks in case of UBI volumes. So, UBI volumes may be considered as flash devices with relaxed restrictions. Where can it be found? Documentation, kernel code and applications can be found in the MTD gits. What are the applications for? The applications help to create binary flash images for two purposes: pfi files (partial flash images) for in-system update of UBI volumes, and plain binary images, with or without OOB data in case of NAND, for a manufacturing step. Furthermore some tools are/and will be created that allow flash content analysis after a system has crashed.. Who did UBI? The original ideas, where UBI is based on, were developed by Andreas Arnez, Frank Haverkamp and Thomas Gleixner. Josh W. Boyer and some others were involved too. The implementation of the kernel layer was done by Artem B. Bityutskiy. The user-space applications and tools were written by Oliver Lohmann with contributions from Frank Haverkamp, Andreas Arnez, and Artem. Joern Engel contributed a patch which modifies JFFS2 so that it can be run on a UBI volume. Thomas Gleixner did modifications to the NAND layer. Alexander Schmidt made some testing work as well as core functionality improvements. Signed-off-by: Artem B. Bityutskiy Signed-off-by: Frank Haverkamp commit 8d8a0241eb019ce9648a77b55f9f76a834207cbb Author: Olaf Hering Date: Thu Apr 26 06:36:56 2007 +1000 [POWERPC] Generic check_legacy_ioport check_legacy_ioport makes only sense on PREP, CHRP and pSeries. They may have an isa node with PS/2, parport, floppy and serial ports. Remove the check_legacy_ioport call from ppc_md, it's not needed anymore. Hardware capabilities come from the device-tree. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 8d2169e8d6b8a91413df33bc402e0f602ceaabcc Author: David Gibson Date: Fri Apr 27 11:53:52 2007 +1000 [POWERPC] Prepare for splitting up mmu.h by MMU type Currently asm-powerpc/mmu.h has definitions for the 64-bit hash based MMU. If CONFIG_PPC64 is not set, it instead includes asm-ppc/mmu.h which contains a particularly horrible mess of #ifdefs giving the definitions for all the various 32-bit MMUs. It would be nice to have the low level definitions for each MMU type neatly in their own separate files. It would also be good to wean arch/powerpc off dependence on the old asm-ppc/mmu.h. This patch makes a start on such a cleanup by moving the definitions for the 64-bit hash MMU to their own file, asm-powerpc/mmu_hash64.h. Definitions for the other MMUs still all come from asm-ppc/mmu.h, however each MMU type can now be one-by-one moved over to their own file, in the process cleaning them up stripping them of cruft no longer necessary in arch/powerpc. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 173ba87b9584e4cba41ce9a06916eba80baa1bf4 Author: Scott Wood Date: Fri Apr 27 03:19:31 2007 +1000 [POWERPC] bootwrapper: cuboot-83xx: Exclude upper 1MB from heap. The uppermost part of memory is where u-boot puts the stack, so don't include that in the heap. It's not currently causing problems, as the current code allocates from the bottom of the heap, but this will keep things from potentially breaking if a future implementation were to allocate from the top. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 4536b937466ff6784d2a9a4bebde924a0d6e01cb Author: Scott Wood Date: Fri Apr 27 03:09:01 2007 +1000 [POWERPC] bootwrapper: cuImage for 85xx Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit e4bb688d9f11d7fee927312cc97d443472c7c212 Author: Scott Wood Date: Fri Apr 27 03:08:13 2007 +1000 [POWERPC] bootwrapper: Fix array handling in dt_xlate_reg(). This fixes a few bugs in how dt_xlate_reg() handles address arrays: 1. copy_val() was copying into the wrong end of the array, resulting in random stack garbage at the other end. 2. dt_xlate_reg() was getting the result from the wrong end of the array. 3. add_reg() and sub_reg() were treating the arrays as little-endian rather than big-endian. 4. add_reg() only returned an error on a carry out of the entire array, rather than out of the naddr portion. 5. The requested reg resource was checked to see if it exceeded the size of the reg property, but not to see if it exceeded the size of the buffer. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 3c5f6162549b9045a2925dff64c140c7f49ea344 Author: Milton Miller Date: Wed Apr 11 18:32:36 2007 +1000 [POWERPC] boot: More verbose gunzip error message Change the error message in gunzip_exactly to be more verbose. Besides the identifier being unrelated to the current function name, the user had no indication if the corruption was near the beginning or the end. Signed-off-by: Milton Miller Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 928370c676729df118f15939ef69b540a7b946b1 Author: Akinobu Mita Date: Tue Apr 10 21:05:31 2007 +1000 [POWERPC] Enable make install make help on powerpc says make install is available. But it failed due to no rule to make install. This patch enables make install to work. Signed-off-by: Akinobu Mita Signed-off-by: Paul Mackerras commit 57647a4dada06bb4d4056e57b4dcb79c4c8bb191 Author: Benjamin Herrenschmidt Date: Thu Mar 22 17:23:44 2007 +1100 [POWERPC] Always use -mno-string The string load/store instructions are unimplemented on some processors and slow (microcoded) on some others. It's simplest to just not use them at all. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f13659e0b3907548402ce1f47bf866544b804260 Author: Anton Blanchard Date: Wed Mar 21 01:48:34 2007 +1100 [POWERPC] Fix WARN_ON when entering xmon Whenever we enter xmon we get a WARN_ON out of the rtas code since it thinks interrupts are still on: Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xd000000000080008 cpu 0x3: Vector: 300 (Data Access) at [c0000000075dba00] pc: d000000000080008: .doit+0x8/0x40 [oopser] lr: c000000000077704: .sys_init_module+0x1664/0x1824 sp: c0000000075dbc80 msr: 9000000000009032 dar: 0 dsisr: 42000000 current = 0xc000000003fa64b0 paca = 0xc000000000694280 pid = 2260, comm = insmod ------------[ cut here ]------------ Badness at arch/powerpc/kernel/entry_64.S:651 Call Trace: [C0000000075DAE70] [C00000000000EB64] .show_stack+0x68/0x1b0 (unreliable) [C0000000075DAF10] [C000000000216254] .report_bug+0x94/0xe8 [C0000000075DAFA0] [C00000000047B140] __kprobes_text_start+0x178/0x584 [C0000000075DB040] [C0000000000044F4] program_check_common+0xf4/0x100 Signed-off-by: Paul Mackerras commit e7273d2a0841612794dff43328d461beee95c986 Author: Will Schmidt Date: Tue Mar 13 06:21:16 2007 +1100 [POWERPC] Replace if-then-else with a switch statement Convert a compound if-else blob to a switch statement. This better fits the kernel coding style. Signed-off-by: Will Schmidt Signed-off-by: Paul Mackerras commit 5dd60166c22dbbb7a8684c119d28cb88b6087784 Author: Domen Puncer Date: Fri Mar 2 21:44:45 2007 +1100 [POWERPC] Fix typos in booting-without-of.txt Fix typos + some cosmetic changes. Signed-off-by: Domen Puncer Signed-off-by: Paul Mackerras commit 9c8f8e752431f3f7ed6ea6ea6e491ce12057f572 Author: Haavard Skinnemoen Date: Thu Feb 1 16:34:10 2007 +0100 [AVR32] Add basic HMATRIX support This adds register and clock definitions for the High-speed bus Matrix (HMATRIX) as well as a function that can be used to configure special EBI functionality like CompactFlash and NAND flash support. Signed-off-by: Haavard Skinnemoen commit 912a41a4ab935ce8c4308428ec13fc7f8b1f18f4 Author: Sergey Vlasov Date: Fri Apr 27 02:17:19 2007 -0700 [IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res) When CONFIG_IP_MULTIPLE_TABLES is enabled, the code in nl_fib_lookup() needs to initialize the res.r field before fib_res_put(&res) - unlike fib_lookup(), a direct call to ->tb_lookup does not set this field. Signed-off-by: Sergey Vlasov Signed-off-by: David S. Miller commit ebbd90a730711280142017e482f27ec3fbb4f227 Author: YOSHIFUJI Hideaki Date: Fri Apr 27 02:13:39 2007 -0700 [IPV6]: Fix thinko in ipv6_rthdr_rcv() changes. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 49e9f70f8e7a4df00a5185e7f5c91e3c583847db Author: David S. Miller Date: Fri Apr 27 01:04:23 2007 -0700 [IPV4]: Add multipath cached to feature-removal-schedule.txt Signed-off-by: David S. Miller commit cd9ad58d4061494e7fdd70ded7bcf2418daf356a Author: David S. Miller Date: Thu Apr 26 21:19:23 2007 -0700 [SCSI] SUNESP: Complete driver rewrite to version 2.0 Major features: 1) Tagged queuing support. 2) Will properly negotiate for synchronous transfers even on devices that reject the wide negotiation message, such as CDROMs 3) Significantly lower kernel stack usage in interrupt handler path by elimination of function vector arrays, replaced by a top-level switch statement state machine. 4) Uses generic scsi infrastructure as much as possible to avoid code duplication. 5) Automatic request of sense data in response to CHECK_CONDITION 6) Portable to other platforms using ESP such as DEC and Sun3 systems. Signed-off-by: David S. Miller commit 2e0c3370b3ecf831ef209f1094df36a808865845 Author: Olof Johansson Date: Fri Apr 27 15:46:01 2007 +1000 [POWERPC] pasemi: Cpufreq driver Cpufreq driver for PA Semi PWRficient processors. Signed-off-by: Egor Martovetsky Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 116ab40df8decf8c519368e31825e9584c86adf2 Author: Olof Johansson Date: Wed Apr 25 09:17:33 2007 +1000 [POWERPC] pasemi: Kconfig for gpio_mdio arch/powerpc/platforms/pasemi/gpio_mdio.c really depends on CONFIG_PHYLIB. Add a config option for it, allow for it to be disabled if needed and fix the dependency. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 952418cd3894cf370cf2c9acdfd498c84c3b7cf9 Author: Olof Johansson Date: Wed Apr 25 04:01:34 2007 +1000 [POWERPC] pasemi: Remove build warning arch/powerpc/platforms/pasemi/setup.c: In function 'pasemi_publish_devices': arch/powerpc/platforms/pasemi/setup.c:220: warning: implicit declaration of function 'of_platform_bus_probe' Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 5bcec54f026b13617ec8aa8fa229970f9acf8dd5 Author: Stephen Rothwell Date: Fri Apr 27 14:32:37 2007 +1000 [POWERPC] Partially revert a7edd0e676d51145ae634a2acf7a447e319200fa Due to conflicts with the network drivers tree. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 01b2726dd11ef198ac6cf8f88974b4427d40ffdb Author: Stephen Rothwell Date: Fri Apr 27 13:41:15 2007 +1000 [POWERPC] Rename get_property to of_get_property: partial drivers This does drivers/machintosh and the hvc code. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 16ce82d846f2e6b652a064f91c5019cfe8682be4 Author: David S. Miller Date: Thu Apr 26 21:08:21 2007 -0700 [SPARC64]: Convert PCI over to generic struct iommu/strbuf. Signed-off-by: David S. Miller commit f16bfc1c0958ff340a02779ab139b03fb5ba6e82 Author: Johannes Berg Date: Thu Apr 26 20:51:12 2007 -0700 [WIRELESS] cfg80211: Clarify locking comment. This patch clarifies the comment about locking in wiphy_unregister. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit a4d73ee168eeaed3baea86542ad42e1fd7e192d3 Author: Johannes Berg Date: Thu Apr 26 20:50:35 2007 -0700 [WIRELESS] cfg80211: Fix locking in wiphy_new. This patch fixes the locking in wiphy new. Ingo Oeser noticed that locking in the error case was wrong and also suggested this fix. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b86e0280bb5585a610783ff5392d9d439dee7ddd Author: Johannes Berg Date: Thu Apr 26 20:48:23 2007 -0700 [WEXT] net_device: Don't include wext bits if not required. This patch makes the wext bits in struct net_device depend on CONFIG_WIRELESS_EXT. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4d44e0dfe961e02489d40d32334454ebe0e784e8 Author: Johannes Berg Date: Thu Apr 26 20:47:25 2007 -0700 [WEXT]: Misc code cleanups. Just a few things that didn't fit in with the other patches. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit bdf51894c1d7ce3fba8c8fdf485e85173ac60c6c Author: Johannes Berg Date: Thu Apr 26 20:46:55 2007 -0700 [WEXT]: Reduce inline abuse. This patch removes a bunch of inline abuse from wext. Most functions that were marked inline are only used once so the compiler will inline them anyway, others are used multiple times but there's no requirement for them to be inline since they aren't in any fast paths. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7a9df167db0f200d5f8e393376dba8ceeae0fd53 Author: Johannes Berg Date: Thu Apr 26 20:46:23 2007 -0700 [WEXT]: Move EXPORT_SYMBOL statements where they belong. EXPORT_SYMBOL statements are supposed to go together with the symbol they're exporting. This patch moves them accordingly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit dd8ceabcd10d47f6f28ecfaf2eac7beffca11b3c Author: Johannes Berg Date: Thu Apr 26 20:45:47 2007 -0700 [WEXT]: Cleanup early ioctl call path. This patch makes the code in wireless_process_ioctl somewhat more readable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4b1e255384570138c2a823904796d46f628e8350 Author: Johannes Berg Date: Thu Apr 26 20:45:14 2007 -0700 [WEXT]: Remove options. This patch kills the two options in wext that are required to be enabled anyway because they influence the userspace API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 235c107ba08becb3ae6c3d3449c8b1053a5a9d75 Author: Johannes Berg Date: Thu Apr 26 20:44:35 2007 -0700 [WEXT]: Remove dead debug code. This patch kills a whole bunch of code that can only ever be used by defining some things in wext.c. Also, the things that are printed are mostly useless since the API is fairly well-tested. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 295f4a1fa3ecdf816b18393ef7bcd37c032df2fa Author: Johannes Berg Date: Thu Apr 26 20:43:56 2007 -0700 [WEXT]: Clean up how wext is called. This patch cleans up the call paths from the core code into wext. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 11433ee450eb4a320f46ce5ed51410b52803ffcc Author: Johannes Berg Date: Thu Apr 26 20:42:51 2007 -0700 [WEXT]: Move to net/wireless This patch moves dev/core/wireless.c to net/wireless/wext.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 39bf09493042200b967cdf2ee6e3f670b7963903 Author: David S. Miller Date: Thu Apr 26 20:39:14 2007 -0700 [AFS]: Eliminate cmpxchg() usage in vlocation code. cmpxchg() is not available on every processor so can't be used in generic code. Replace with spinlock protection on the ->state changes, wakeups, and wait loops. Add what appears to be a missing wakeup on transition to AFS_VL_VALID state in afs_vlocation_updater(). Signed-off-by: David S. Miller commit 68c708fd5e90f6d178c84bb7e641589eb2842319 Author: David S. Miller Date: Thu Apr 26 20:20:21 2007 -0700 [RXRPC]: Fix pointers passed to bitops. CC [M] net/rxrpc/ar-input.o net/rxrpc/ar-input.c: In function ‘rxrpc_fast_process_data’: net/rxrpc/ar-input.c:171: warning: passing argument 2 of ‘__test_and_set_bit’ from incompatible pointer type net/rxrpc/ar-input.c:180: warning: passing argument 2 of ‘__clear_bit’ from incompatible pointer type net/rxrpc/ar-input.c:218: warning: passing argument 2 of ‘__clear_bit’ from incompatible pointer type Signed-off-by: David S. Miller commit 411faf5810cdd0e4f5071a3805d8adb49d120a07 Author: David S. Miller Date: Thu Apr 26 20:18:17 2007 -0700 [RXRPC]: Remove bogus atomic_* overrides. These are done with CPP defines which several platforms use for their atomic.h implementation, which floods the build with warnings and breaks the build. Signed-off-by: David S. Miller commit ba3e0e1accd8d5bb12eaeb0977429d8dc04f6d1e Author: David S. Miller Date: Thu Apr 26 16:06:22 2007 -0700 [AFS]: Fix u64 printing in debug logging. Need 'unsigned long long' casts to quiet warnings on 64-bit platforms when using %ll on a u64. Signed-off-by: David S. Miller commit 260a980317dac80182dd76140cf67c6e81d6d3dd Author: David Howells Date: Thu Apr 26 15:59:35 2007 -0700 [AFS]: Add "directory write" support. Add support for the create, link, symlink, unlink, mkdir, rmdir and rename VFS operations to the in-kernel AFS filesystem. Also: (1) Fix dentry and inode revalidation. d_revalidate should only look at state of the dentry. Revalidation of the contents of an inode pointed to by a dentry is now separate. (2) Fix afs_lookup() to hash negative dentries as well as positive ones. Signed-off-by: David Howells Signed-off-by: David S. Miller commit c35eccb1f614954b10cba3f74b7c301993b2f42e Author: David Howells Date: Thu Apr 26 15:58:49 2007 -0700 [AFS]: Implement the CB.InitCallBackState3 operation. Implement the CB.InitCallBackState3 operation for the fileserver to call. This reduces the amount of network traffic because if this op is aborted, the fileserver will then attempt an CB.InitCallBackState operation. Signed-off-by: David Howells Signed-off-by: David S. Miller commit b908fe6b2d1294d93b0d0badf6bf4f9a2cd7d729 Author: David Howells Date: Thu Apr 26 15:58:17 2007 -0700 [AFS]: Add support for the CB.GetCapabilities operation. Add support for the CB.GetCapabilities operation with which the fileserver can ask the client for the following information: (1) The list of network interfaces it has available as IPv4 address + netmask plus the MTUs. (2) The client's UUID. (3) The extended capabilities of the client, for which the only current one is unified error mapping (abort code interpretation). To support this, the patch adds the following routines to AFS: (1) A function to iterate through all the network interfaces using RTNETLINK to extract IPv4 addresses and MTUs. (2) A function to iterate through all the network interfaces using RTNETLINK to pull out the MAC address of the lowest index interface to use in UUID construction. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 0795e7c031c4bda46fbdde678adf29de19bef7f4 Author: David Howells Date: Thu Apr 26 15:57:43 2007 -0700 [AFS]: Update the AFS fs documentation. Update the AFS fs documentation. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 00d3b7a4533e367b0dc2812a706db8f9f071c27f Author: David Howells Date: Thu Apr 26 15:57:07 2007 -0700 [AFS]: Add security support. Add security support to the AFS filesystem. Kerberos IV tickets are added as RxRPC keys are added to the session keyring with the klog program. open() and other VFS operations then find this ticket with request_key() and either use it immediately (eg: mkdir, unlink) or attach it to a file descriptor (open). Signed-off-by: David Howells Signed-off-by: David S. Miller commit 436058a49e0fb91c74454dbee9cfee6fb53b4336 Author: David Howells Date: Thu Apr 26 15:56:24 2007 -0700 [AFS]: Handle multiple mounts of an AFS superblock correctly. Handle multiple mounts of an AFS superblock correctly, checking to see whether the superblock is already initialised after calling sget() rather than just unconditionally stamping all over it. Also delete the "silent" parameter to afs_fill_super() as it's not used and can, in any case, be obtained from sb->s_flags. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 63b6be55e8b51cb718468794d343058e96c7462c Author: David Howells Date: Thu Apr 26 15:55:48 2007 -0700 [AF_RXRPC]: Delete the old RxRPC code. Delete the old RxRPC code as it's now no longer used. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 08e0e7c82eeadec6f4871a386b86bf0f0fbcb4eb Author: David Howells Date: Thu Apr 26 15:55:03 2007 -0700 [AF_RXRPC]: Make the in-kernel AFS filesystem use AF_RXRPC. Make the in-kernel AFS filesystem use AF_RXRPC instead of the old RxRPC code. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 651350d10f93bed7003c9a66e24cf25e0f8eed3d Author: David Howells Date: Thu Apr 26 15:50:17 2007 -0700 [AF_RXRPC]: Add an interface to the AF_RXRPC module for the AFS filesystem to use Add an interface to the AF_RXRPC module so that the AFS filesystem module can more easily make use of the services available. AFS still opens a socket but then uses the action functions in lieu of sendmsg() and registers an intercept functions to grab messages before they're queued on the socket Rx queue. This permits AFS (or whatever) to: (1) Avoid the overhead of using the recvmsg() call. (2) Use different keys directly on individual client calls on one socket rather than having to open a whole slew of sockets, one for each key it might want to use. (3) Avoid calling request_key() at the point of issue of a call or opening of a socket. This is done instead by AFS at the point of open(), unlink() or other VFS operation and the key handed through. (4) Request the use of something other than GFP_KERNEL to allocate memory. Furthermore: (*) The socket buffer markings used by RxRPC are made available for AFS so that it can interpret the cooked RxRPC messages itself. (*) rxgen (un)marshalling abort codes are made available. The following documentation for the kernel interface is added to Documentation/networking/rxrpc.txt: ========================= AF_RXRPC KERNEL INTERFACE ========================= The AF_RXRPC module also provides an interface for use by in-kernel utilities such as the AFS filesystem. This permits such a utility to: (1) Use different keys directly on individual client calls on one socket rather than having to open a whole slew of sockets, one for each key it might want to use. (2) Avoid having RxRPC call request_key() at the point of issue of a call or opening of a socket. Instead the utility is responsible for requesting a key at the appropriate point. AFS, for instance, would do this during VFS operations such as open() or unlink(). The key is then handed through when the call is initiated. (3) Request the use of something other than GFP_KERNEL to allocate memory. (4) Avoid the overhead of using the recvmsg() call. RxRPC messages can be intercepted before they get put into the socket Rx queue and the socket buffers manipulated directly. To use the RxRPC facility, a kernel utility must still open an AF_RXRPC socket, bind an addess as appropriate and listen if it's to be a server socket, but then it passes this to the kernel interface functions. The kernel interface functions are as follows: (*) Begin a new client call. struct rxrpc_call * rxrpc_kernel_begin_call(struct socket *sock, struct sockaddr_rxrpc *srx, struct key *key, unsigned long user_call_ID, gfp_t gfp); This allocates the infrastructure to make a new RxRPC call and assigns call and connection numbers. The call will be made on the UDP port that the socket is bound to. The call will go to the destination address of a connected client socket unless an alternative is supplied (srx is non-NULL). If a key is supplied then this will be used to secure the call instead of the key bound to the socket with the RXRPC_SECURITY_KEY sockopt. Calls secured in this way will still share connections if at all possible. The user_call_ID is equivalent to that supplied to sendmsg() in the control data buffer. It is entirely feasible to use this to point to a kernel data structure. If this function is successful, an opaque reference to the RxRPC call is returned. The caller now holds a reference on this and it must be properly ended. (*) End a client call. void rxrpc_kernel_end_call(struct rxrpc_call *call); This is used to end a previously begun call. The user_call_ID is expunged from AF_RXRPC's knowledge and will not be seen again in association with the specified call. (*) Send data through a call. int rxrpc_kernel_send_data(struct rxrpc_call *call, struct msghdr *msg, size_t len); This is used to supply either the request part of a client call or the reply part of a server call. msg.msg_iovlen and msg.msg_iov specify the data buffers to be used. msg_iov may not be NULL and must point exclusively to in-kernel virtual addresses. msg.msg_flags may be given MSG_MORE if there will be subsequent data sends for this call. The msg must not specify a destination address, control data or any flags other than MSG_MORE. len is the total amount of data to transmit. (*) Abort a call. void rxrpc_kernel_abort_call(struct rxrpc_call *call, u32 abort_code); This is used to abort a call if it's still in an abortable state. The abort code specified will be placed in the ABORT message sent. (*) Intercept received RxRPC messages. typedef void (*rxrpc_interceptor_t)(struct sock *sk, unsigned long user_call_ID, struct sk_buff *skb); void rxrpc_kernel_intercept_rx_messages(struct socket *sock, rxrpc_interceptor_t interceptor); This installs an interceptor function on the specified AF_RXRPC socket. All messages that would otherwise wind up in the socket's Rx queue are then diverted to this function. Note that care must be taken to process the messages in the right order to maintain DATA message sequentiality. The interceptor function itself is provided with the address of the socket and handling the incoming message, the ID assigned by the kernel utility to the call and the socket buffer containing the message. The skb->mark field indicates the type of message: MARK MEANING =============================== ======================================= RXRPC_SKB_MARK_DATA Data message RXRPC_SKB_MARK_FINAL_ACK Final ACK received for an incoming call RXRPC_SKB_MARK_BUSY Client call rejected as server busy RXRPC_SKB_MARK_REMOTE_ABORT Call aborted by peer RXRPC_SKB_MARK_NET_ERROR Network error detected RXRPC_SKB_MARK_LOCAL_ERROR Local error encountered RXRPC_SKB_MARK_NEW_CALL New incoming call awaiting acceptance The remote abort message can be probed with rxrpc_kernel_get_abort_code(). The two error messages can be probed with rxrpc_kernel_get_error_number(). A new call can be accepted with rxrpc_kernel_accept_call(). Data messages can have their contents extracted with the usual bunch of socket buffer manipulation functions. A data message can be determined to be the last one in a sequence with rxrpc_kernel_is_data_last(). When a data message has been used up, rxrpc_kernel_data_delivered() should be called on it.. Non-data messages should be handled to rxrpc_kernel_free_skb() to dispose of. It is possible to get extra refs on all types of message for later freeing, but this may pin the state of a call until the message is finally freed. (*) Accept an incoming call. struct rxrpc_call * rxrpc_kernel_accept_call(struct socket *sock, unsigned long user_call_ID); This is used to accept an incoming call and to assign it a call ID. This function is similar to rxrpc_kernel_begin_call() and calls accepted must be ended in the same way. If this function is successful, an opaque reference to the RxRPC call is returned. The caller now holds a reference on this and it must be properly ended. (*) Reject an incoming call. int rxrpc_kernel_reject_call(struct socket *sock); This is used to reject the first incoming call on the socket's queue with a BUSY message. -ENODATA is returned if there were no incoming calls. Other errors may be returned if the call had been aborted (-ECONNABORTED) or had timed out (-ETIME). (*) Record the delivery of a data message and free it. void rxrpc_kernel_data_delivered(struct sk_buff *skb); This is used to record a data message as having been delivered and to update the ACK state for the call. The socket buffer will be freed. (*) Free a message. void rxrpc_kernel_free_skb(struct sk_buff *skb); This is used to free a non-DATA socket buffer intercepted from an AF_RXRPC socket. (*) Determine if a data message is the last one on a call. bool rxrpc_kernel_is_data_last(struct sk_buff *skb); This is used to determine if a socket buffer holds the last data message to be received for a call (true will be returned if it does, false if not). The data message will be part of the reply on a client call and the request on an incoming call. In the latter case there will be more messages, but in the former case there will not. (*) Get the abort code from an abort message. u32 rxrpc_kernel_get_abort_code(struct sk_buff *skb); This is used to extract the abort code from a remote abort message. (*) Get the error number from a local or network error message. int rxrpc_kernel_get_error_number(struct sk_buff *skb); This is used to extract the error number from a message indicating either a local error occurred or a network error occurred. Signed-off-by: David Howells Signed-off-by: David S. Miller commit ec26815ad847dbf74a1e27aa5515fb7d5dc6ee6f Author: David Howells Date: Thu Apr 26 15:49:28 2007 -0700 [AFS]: Clean up the AFS sources Clean up the AFS sources. Also remove references to AFS keys. RxRPC keys are used instead. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 17926a79320afa9b95df6b977b40cca6d8713cea Author: David Howells Date: Thu Apr 26 15:48:28 2007 -0700 [AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both Provide AF_RXRPC sockets that can be used to talk to AFS servers, or serve answers to AFS clients. KerberosIV security is fully supported. The patches and some example test programs can be found in: http://people.redhat.com/~dhowells/rxrpc/ This will eventually replace the old implementation of kernel-only RxRPC currently resident in net/rxrpc/. Signed-off-by: David Howells Signed-off-by: David S. Miller commit e19dff1fdd99a25819af74cf0710e147fff4fd3a Author: David Howells Date: Thu Apr 26 15:46:56 2007 -0700 [AF_RXRPC]: Make it possible to merely try to cancel timers from a module Export try_to_del_timer_sync() for use by the AF_RXRPC module. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 7318226ea2931a627f3572e5f4804c91ca19ecbc Author: David Howells Date: Thu Apr 26 15:46:23 2007 -0700 [AF_RXRPC]: Key facility changes for AF_RXRPC Export the keyring key type definition and document its availability. Add alternative types into the key's type_data union to make it more useful. Not all users necessarily want to use it as a list_head (AF_RXRPC doesn't, for example), so make it clear that it can be used in other ways. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 071b638689464c6b39407025eedd810d5b5e6f5d Author: Oleg Nesterov Date: Thu Apr 26 15:45:32 2007 -0700 [WORKQUEUE]: cancel_delayed_work: use del_timer() instead of del_timer_sync() del_timer_sync() buys nothing for cancel_delayed_work(), but it is less efficient since it locks the timer unconditionally, and may wait for the completion of the delayed_work_timer_fn(). cancel_delayed_work() == 0 means: before this patch: work->func may still be running or queued after this patch: work->func may still be running or queued, or delayed_work_timer_fn->__queue_work() in progress. The latter doesn't differ from the caller's POV, delayed_work_timer_fn() is called with _PENDING bit set. cancel_delayed_work() == 1 with this patch adds a new possibility: delayed_work->work was cancelled, but delayed_work_timer_fn is still running (this is only possible for the re-arming works on single-threaded workqueue). In this case the timer was re-started by work->func(), nobody else can do this. This in turn means that delayed_work_timer_fn has already passed __queue_work() (and wont't touch delayed_work) because nobody else can queue delayed_work->work. Signed-off-by: Oleg Nesterov Signed-Off-By: David Howells Signed-off-by: David S. Miller commit 83418978827324918a8cd25ce5227312de1d4468 Author: Mark Fasheh Date: Mon Apr 23 18:53:12 2007 -0700 ocfs2: Cache extent records The extent map code was ripped out earlier because of an inability to deal with holes. This patch adds back a simpler caching scheme requiring far less code. Our old extent map caching was designed back when meta data block caching in Ocfs2 didn't work very well, resulting in many disk reads. These days our metadata caching is much better, resulting in no un-necessary disk reads. As a result, extent caching doesn't have to be as fancy, nor does it have to cache as many extents. Keeping the last 3 extents seen should be sufficient to give us a small performance boost on some streaming workloads. Signed-off-by: Mark Fasheh commit 7cdfc3a1c3971c9125c317cb8c2525745851798e Author: Mark Fasheh Date: Mon Apr 16 17:28:51 2007 -0700 ocfs2: Remember rw lock level during direct io Cluster locking might have been redone because a direct write won't complete, so this needs to be reflected in the iocb. Signed-off-by: Mark Fasheh commit 8110b073a9135acf0a71bccfc20c0d1023f179c6 Author: Mark Fasheh Date: Thu Mar 22 16:53:23 2007 -0700 ocfs2: Fix up i_blocks calculation to know about holes Older file systems which didn't support holes did a dumb calculation of i_blocks based on i_size. This is no longer accurate, so fix things up to take actual allocation into account. Signed-off-by: Mark Fasheh commit 4f902c37727bbedbc0508a1477874c58ddcc9af8 Author: Mark Fasheh Date: Fri Mar 9 16:26:50 2007 -0800 ocfs2: Fix extent lookup to return true size of holes Initially, we had wired things to return a size '1' of holes. Cook up a small amount of code to find the next extent and calculate the number of clusters between the virtual offset and the next allocated extent. Signed-off-by: Mark Fasheh commit 49cb8d2d496ce06869ccca2ab368ed6b0b5b979d Author: Mark Fasheh Date: Fri Mar 9 16:21:46 2007 -0800 ocfs2: Read from an unwritten extent returns zeros Return an optional extent flags field from our lookup functions and wire up callers to treat unwritten regions as holes for the purpose of returning zeros to the user. Signed-off-by: Mark Fasheh commit e48edee2d8eab812f31f0ff62c6ba635ca2e1e21 Author: Mark Fasheh Date: Wed Mar 7 16:46:57 2007 -0800 ocfs2: make room for unwritten extents flag Due to the size of our group bitmaps, we'll never have a leaf node extent record with more than 16 bits worth of clusters. Split e_clusters up so that leaf nodes can get a flags field where we can mark unwritten extents. Interior nodes whose length references all the child nodes beneath it can't split their e_clusters field, so we use a union to preserve sizing there. Signed-off-by: Mark Fasheh commit 6af67d8205cf65fbaaa743edc7ebb46e486e34ff Author: Mark Fasheh Date: Tue Mar 6 17:24:46 2007 -0800 ocfs2: Use own splice write actor We need to fill holes during a splice write. Provide our own splice write actor which can call ocfs2_file_buffered_write() with a splice-specific callback. Signed-off-by: Mark Fasheh commit fa41045fcbf78269991d5aebb1820fc51534f05d Author: Mark Fasheh Date: Thu Mar 1 11:22:19 2007 -0800 ocfs2: Use do_sync_mapping_range() in ocfs2_zero_tail_for_truncate() Do this instead of filemap_fdatawrite() - this way we sync only the range between i_size and the cluster boundary. Signed-off-by: Mark Fasheh commit 5b04aa3a64f854244bc40a6f528176ed50b5c4f6 Author: Mark Fasheh Date: Thu Mar 1 11:01:55 2007 -0800 [PATCH] Turn do_sync_file_range() into do_sync_mapping_range() do_sync_file_range() accepts a file * from which it takes an address_space to sync. Abstract out the bulk of the function into do_sync_mapping_range() which takes the address_space directly. This way callers who want to sync an address_space directly can take advantage of the functionality provided. do_sync_file_range() is preserved as a small wrapper around do_sync_mapping_range(). Ocfs2 in particular would like to use this to initiate a sync of a specific inode range during truncate, where a file * may not be available. Signed-off-by: Mark Fasheh Cc: Christoph Hellwig Signed-off-by: Andrew Morton commit 60b11392f1a09433740bda3048202213daa27736 Author: Mark Fasheh Date: Fri Feb 16 11:46:50 2007 -0800 ocfs2: zero tail of sparse files on truncate Since we don't zero on extend anymore, truncate needs to be fixed up to zero the part of a file between i_size and and end of it's cluster. Otherwise a subsequent extend could expose bad data. This introduced a new helper, which can be used in ocfs2_write(). Signed-off-by: Mark Fasheh commit 25baf2da1473d9dcde1a4c7b0ab26e7d67d9bf62 Author: Mark Fasheh Date: Wed Feb 14 15:30:30 2007 -0800 ocfs2: Teach ocfs2_get_block() about holes ocfs2_get_block() didn't understand sparse files, fix that. Also remove some code that isn't really useful anymore. We can fix up ocfs2_direct_IO_get_blocks() at the same time. Signed-off-by: Mark Fasheh commit 5069120b7227fd323152a3755a0aa6bdeb361310 Author: Mark Fasheh Date: Fri Feb 9 20:52:53 2007 -0800 ocfs2: remove ocfs2_prepare_write() and ocfs2_commit_write() These are no longer used, and can't handle file systems with sparse file allocation. Signed-off-by: Mark Fasheh commit 9517bac6cc7a7aa4fee63cb38a32cb6014e264c7 Author: Mark Fasheh Date: Fri Feb 9 20:24:12 2007 -0800 ocfs2: teach ocfs2_file_aio_write() about sparse files Unfortunately, ocfs2 can no longer make use of generic_file_aio_write_nlock() because allocating writes will require zeroing of pages adjacent to the I/O for cluster sizes greater than page size. Implement a custom file write here, which can order page locks for zeroing. This also has the advantage that cluster locks can easily be ordered outside of the page locks. Signed-off-by: Mark Fasheh commit 89488984ac23b0580f959b9ee549f2fcb1c2f194 Author: Mark Fasheh Date: Wed Jan 17 13:10:55 2007 -0800 ocfs2: Turn off shared writeable mmap for local files systems with holes. This will be turned back on once we can do allocation in ->page_mkwrite(). Signed-off-by: Mark Fasheh commit abf8b1569415bb4a8915a4884943ecd39c510957 Author: Mark Fasheh Date: Wed Jan 17 13:07:24 2007 -0800 ocfs2: abstract out allocation locking Right now, file allocation for ocfs2 is done within ocfs2_extend_file(), which is either called from ->setattr() (for an i_size change), or at the top of ocfs2_file_aio_write(). Inodes on file systems with sparse file support will want to do their allocation during the actual write call. In either case the cluster locking decisions are the same. We abstract out that code into a new function, ocfs2_lock_allocators() which will be used by a later patch to enable writing to sparse files. This also provides a nice cleanup of ocfs2_extend_allocation(). Signed-off-by: Mark Fasheh commit 3a0782d09c07aa3ec767ba6089cd15cfbfbfc508 Author: Mark Fasheh Date: Wed Jan 17 12:53:31 2007 -0800 ocfs2: teach extend/truncate about sparse files For ocfs2_truncate_file(), we eliminate the "simple" truncate case which no longer exists since i_size is not tied to i_clusters. In ocfs2_extend_file(), we skip the allocation / page zeroing code for file systems which understand sparse files. The core truncate code is changed to do a bottom up tree traversal. This gets abstracted out into it's own function. To make things more readable, most of the special case handling for in-inode extents from ocfs2_do_truncate() is also removed. Though write support for sparse files comes in a later patch, we at least update ocfs2_prepare_inode_for_write() to skip allocation for sparse files. Signed-off-by: Mark Fasheh commit 363041a5f74b953ab6b705ac9c88e5eda218a24b Author: Mark Fasheh Date: Wed Jan 17 12:31:35 2007 -0800 ocfs2: temporarily remove extent map caching The code in extent_map.c is not prepared to deal with a subtree being rotated between lookups. This can happen when filling holes in sparse files. Instead of a lengthy patch to update the code (which would likely lose the benefit of caching subtree roots), we remove most of the algorithms and implement a simple path based lookup. A less ambitious extent caching scheme will be added in a later patch. Signed-off-by: Mark Fasheh commit dcd0538ff4e854fa9d7f4630b359ca8fdb5cb5a8 Author: Mark Fasheh Date: Tue Jan 16 11:32:23 2007 -0800 ocfs2: sparse b-tree support Introduce tree rotations into the b-tree code. This will allow ocfs2 to support sparse files. Much of the added code is designed to be generic (in the ocfs2 sense) so that it can later be re-used to implement large extended attributes. This patch only adds the rotation code and does minimal updates to callers of the extent api. Signed-off-by: Mark Fasheh commit 6f16bf655c5795586dd2ac96a7c70e0b9a378746 Author: Mark Fasheh Date: Tue Mar 20 17:17:54 2007 -0700 ocfs2: small cleanup of ocfs2_request_delete() There are two checks in there (one for inode newness, one for other mounted nodes) which are unnecessary, so remove them. The DLM will allow the trylock in either case without any messaging overhead. Removing these makes ocfs2_request_delete() a one liner function, so just move the trylock out one level into ocfs2_query_inode_wipe(). Signed-off-by: Mark Fasheh commit 68e2b740c4b5394680cfefccddbdb486c5866a4c Author: Tiger Yang Date: Tue Mar 20 16:42:10 2007 -0700 ocfs2: remove unused code Remove node messaging code that becomes unused with the delete inode vote removal. [Removed even more cruft which I spotted during review --Mark] Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 500086300e6dc5308a7328990bd50d17e075162b Author: Tiger Yang Date: Tue Mar 20 16:01:38 2007 -0700 ocfs2: Remove delete inode vote Ocfs2 currently does cluster-wide node messaging to check the open state of an inode during delete. This patch removes that mechanism in favor of an inode cluster lock which is taken at shared read when an inode is first read and dropped in clear_inode(). This allows a deleting node to test the liveness of an inode by attempting to take an exclusive lock. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 566ec03448052c096dc3982fbe573522dc0ba479 Author: Jamal Hadi Salim Date: Thu Apr 26 14:12:15 2007 -0700 [XFRM]: Missing bits to SAD info. This brings the SAD info in sync with net-2.6.22/net-2.6 Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit a9f5f70739363ccca2e771c274c4f015c5fb7a88 Author: Mark Fasheh Date: Thu Apr 26 11:43:43 2007 -0700 ocfs2: filter more error prints We don't want to print anything at all in ocfs2_lookup() when getting an error from ocfs2_iget() - it could be something as innocuous as a signal being detected in the dlm. ocfs2_permission() should filter on -ENOENT which ocfs2_meta_lock() can return if the inode was deleted on another node. Signed-off-by: Mark Fasheh commit bebe6f120b036349f7212205eeaf8248d4820c4b Author: Sunil Mushran Date: Tue Apr 17 13:53:38 2007 -0700 ocfs2: Replace panic() with emergency_restart() when fencing We have noticed panic() hanging leading us to a situation in which the node, while otherwise dead, is still disk heartbeating. This leads to a hung cluster as the other nodes are waiting for this node to stop disk heartbeating. This situation is only resolved by power resetting the box. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 5d262cc7dd3d47784f8233ad4ec2cc5a08059b71 Author: Sunil Mushran Date: Tue Apr 17 13:49:19 2007 -0700 ocfs2: Silence compiler warnings Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit be9e986b824b41c9d5cc5eca34ee3424c35fd162 Author: Mark Fasheh Date: Wed Apr 18 15:22:08 2007 -0700 ocfs2: Local mounts should skip inode updates We don't want the extent map and uptodate cache destruction in ocfs2_meta_lock_update() on a local mount, so skip that. This fixes several bugs with uptodate being cleared on buffers and extent maps being corrupted. Signed-off-by: Mark Fasheh commit 0d01af6e5dd6bc7abbcb6331021f8fee18005540 Author: Sunil Mushran Date: Tue Apr 17 13:32:20 2007 -0700 ocfs2_dlm: Call cond_resched_lock() once per hash bucket scan In dlm_migrate_all_locks(), we currently call cond_resched_lock() after processing each lockres in a hash bucket. Move it outside the loop so as to call it only after the entire hash bucket has been processed. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 756a1501ddbbe73098aa031939460930f6edc9cd Author: Srinivas Eeda Date: Tue Apr 17 13:26:33 2007 -0700 ocfs2_dlm: fix race in dlm_remaster_locks There is a possibility that dlm_remaster_locks could overwride node->state with DLM_RECO_NODE_DATA_REQUESTED after dlm_reco_data_done_handler sets the node->state to DLM_RECO_NODE_DATA_DONE. This could lead to recovery getting stuck and requires a cluster reboot. Synchronize with dlm_reco_state_lock spinlock. Signed-off-by: Srinivas Eeda Signed-off-by: Mark Fasheh commit 9101be532a3c60c7e8773868395e3b75259d84c3 Author: Mike Frysinger Date: Wed Apr 18 16:18:13 2007 -0400 [CPUFREQ] cleanup kconfig options Adds proper lines to help output of kconfig so people can find the module names. Also fixed some broken leading spaces versus tabs. Signed-off-by: Mike Frysinger Signed-off-by: Dave Jones commit 07844252ffd81ec192a62014bada1016c9703765 Author: Rafal Bilski Date: Sun Apr 22 12:26:04 2007 +0200 [CPUFREQ] Longhaul - Revert Longhaul ver. 2 There is something wrong with this code. It needs more testing. It is better to disable it for now because support for some machines will be broken. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 632786ce9ff6206951ee4c84fe5c0d5c1d12f4cc Author: Thomas Renninger Date: Thu Apr 19 15:49:09 2007 +0200 [CPUFREQ] Remove deprecated /proc/acpi/processor/performance write support Remove deprecated /proc/acpi/processor/performance write support Writing to /proc/acpi/processor/xy/performance interferes with sysfs cpufreq interface. Also removes buggy cpufreq_set_policy exported symbol. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 22c970f3468a6766b362d57fa32ebb92cb8cd6db Author: Thomas Renninger Date: Thu Apr 19 15:48:34 2007 +0200 [CPUFREQ] Fix limited cpufreq when booted on battery References: https://bugzilla.novell.com/show_bug.cgi?id=231107 https://bugzilla.novell.com/show_bug.cgi?id=264077 Fix limited cpufreq when booted on battery If booted on battery: cpufreq_set_policy (evil) is invoked which calls verify_within_limits. max_freq gets lowered and therefore users_policy.max, which is used to restore higher freqs via update_policy later is set to the already limited frequency -> you can never go up again, even BIOS allows higher freqs later. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit e8e49190f64896afe79f7136a67c2bdefbd3e322 Author: Dave Jones Date: Wed Apr 11 18:22:34 2007 -0400 Fix preemption warnings in speedstep-centrino.c BUG: using smp_processor_id() in preemptible [00000001] code: kondemand/0/2473 caller is centrino_target+0xfb/0x600 [<401e3646>] debug_smp_processor_id+0x9e/0xb0 [<40112afb>] centrino_target+0xfb/0x600 [<40112a00>] centrino_target+0x0/0x600 [<40305bd9>] __cpufreq_driver_target+0x5c/0x6b [] do_dbs_timer+0x1bc/0x208 [cpufreq_ondemand] [<40134a46>] run_workqueue+0x85/0x125 [<40374f7f>] _spin_lock_irqsave+0x18/0x66 [] do_dbs_timer+0x0/0x208 [cpufreq_ondemand] [<401353fb>] worker_thread+0xf9/0x124 [<401213b9>] default_wake_function+0x0/0xc [<40135302>] worker_thread+0x0/0x124 [<40137b37>] kthread+0xb0/0xd9 [<40137a87>] kthread+0x0/0xd9 [<40104b2f>] kernel_thread_helper+0x7/0x10 Signed-off-by: Dave Jones commit fb48e15645fb702cb2ec02c84f82ece2fbc1574d Author: Rafał Bilski Date: Fri Mar 2 20:12:27 2007 +0100 [CPUFREQ] Longhaul - Correct PCI code Replace obsolete pci_find_device with pci_get_device. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 551948bc44260a5ab3ad63546506b2062f77eaa0 Author: Alexey Dobriyan Date: Mon Mar 19 19:17:00 2007 +0300 [CPUFREQ] p4-clockmod: switch to rdmsr_on_cpu/wrmsr_on_cpu Dances with cpumasks go away. Signed-off-by: Alexey Dobriyan Signed-off-by: Dave Jones commit 881ba59d4685b28433bf313b6db51672a02696a3 Author: Alan Cox Date: Mon Apr 23 14:51:29 2007 +0100 [AGPGART] sworks-agp: Switch to PCI ref counting APIs Signed-off-by: Alan Cox Signed-off-by: Dave Jones commit 1e415732834991c8335da39832ee7a91f2a65602 Author: Alan Cox Date: Mon Apr 23 14:50:27 2007 +0100 [AGPGART] Nvidia AGP: Use refcount aware PCI interfaces Signed-off-by: Alan Cox Signed-off-by: Dave Jones commit b826b4d6e497f862239c16b25fe864026858aad5 Author: Dave Jones Date: Mon Apr 9 02:20:34 2007 -0400 [AGPGART] Fix sparse warning in sgi-agp.c drivers/char/agp/sgi-agp.c:51:10: warning: Using plain integer as NULL pointer Signed-off-by: Dave Jones commit 89cf7ccc936db979e5e9d9ce49437ef859cdd889 Author: Jan Beulich Date: Mon Apr 2 14:50:14 2007 +0100 [AGPGART] Intel-agp adjustments Fix a call to __free_page where __free_pages(, 2) was meant, and do proper error path handling. Also remove a redundant conditional. Signed-off-by: Jan Beulich Signed-off-by: Dave Jones commit 9eeee244142562cba4f9fbc93962acf6a61847b5 Author: Jan Beulich Date: Mon Apr 2 14:50:14 2007 +0100 [AGPGART] Move [un]map_page_into_agp into asm/agp.h Remove an arch-dependent hunk in favor of #define-ing the respective bits in asm-/agp.h (allowing easier overriding in para-virtualized environments). Signed-off-by: Jan Beulich Signed-off-by: Dave Jones commit 77ec430ec3b5c6b9bd6dcb0ff9764d9c95bbd227 Author: Jan Beulich Date: Mon Apr 2 14:50:14 2007 +0100 [AGPGART] Add missing calls to global_flush_tlb() to ali-agp add missing calls to global_flush_tlb(). Signed-off-by: Jan Beulich Signed-off-by: Dave Jones commit 82eab1306c20f67f718cb5439f7efd62f4e86fc8 Author: Oliver Neukum Date: Mon Mar 26 21:39:20 2007 -0800 [AGPGART] prevent probe collision of sis-agp and amd64_agp For some vendor/id pairs the kernel will autoload both the sis-agp and the amd64_agp modules as the sis-agp module will load for all sis devices. This collision causes the bug reported in: http://bugzilla.novell.com/show_bug.cgi?id=248665 As currently sis_probe does its own matching, requesting the whole range gains nothing. The clean fix seems to me to leave the matching to the core and advertise only the devices actually supported. This patch does so. Signed-off-by: Oliver Neukum Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 984acfe1cfb613257a15f30b3cf60ae7e4ed8f06 Author: Steve French Date: Thu Apr 26 16:42:50 2007 +0000 [CIFS] prefixpath mounts to servers supporting posix paths used wrong slash Acked-by: Alexander Bokovoy Signed-off-by: Steve French commit deb0420c6ffdee5608856ec3e8e65fcbea67d5d4 Author: Steve French Date: Thu Apr 26 14:35:54 2007 +0000 [CIFS] Update cifs version to 1.49 Signed-off-by: Steve French commit a48141db68e4b9143759435badcc1a49d9022db4 Author: Paul Mackerras Date: Thu Apr 26 22:24:31 2007 +1000 Revert "[POWERPC] Rename get_property to of_get_property: drivers" This reverts commit d05c7a80cf39ae7d0f8d0c3e47c93d51fcd393d3, which included changes which should go via other subsystem maintainers. commit 0999ed7f57728c1919b131207e47d9b311cfbd74 Author: Paul Mackerras Date: Thu Apr 26 17:01:04 2007 +1000 Revert "[POWERPC] DMA 4GB boundary protection" This reverts commit 618d3adc351a24c4c48437c767befb88ca2d199d, because it is superseded by 569975591c5530fdc9c7a3c45122e5e46f075a74. commit ee5ac9ddf2ea13be2418ac7d0ce5a930e78af013 Author: Stephen Rothwell Date: Thu Apr 26 00:03:53 2007 -0700 [SPARC]: device_node name constification fallout A couple of routines need their arguments to be const. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 3e4d26508af6d03034a97583c895f33bef671d06 Author: David S. Miller Date: Wed Apr 25 15:58:22 2007 -0700 [SPARC64]: Convert SBUS over to generic iommu/strbuf structs. Signed-off-by: David S. Miller commit 66875088098f314af1a4d9e0cc47e617d643bffd Author: David S. Miller Date: Wed Apr 25 00:12:09 2007 -0700 [SPARC64]: Add generic iommu and strbuf structs to iommu.h Signed-off-by: David S. Miller commit 9b3627f389c07c5be9c86ac4d472a0d4fd47feac Author: David S. Miller Date: Tue Apr 24 23:51:18 2007 -0700 [SPARC64]: Consolidate {sbus,pci}_iommu_arena. Move to asm-sparc64/iommu.h and rename to plain "iommu_arena". Signed-off-by: David S. Miller commit 711b360d64418e88ed45f812e0ebd202073d888d Author: Stephen Rothwell Date: Thu Apr 12 14:38:34 2007 -0700 [SPARC]: Make device_node name and type const Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 3dfe10ee7caae9802d84a06fe7724274dea24020 Author: Stephen Rothwell Date: Thu Mar 29 11:22:57 2007 -0700 [SPARC64]: constify some paramaters of OF routines This starts bringing the PowerPC and Sparc64 implemetations back closer together. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 374d4cac6283469f101282ca83ee008368bd8350 Author: David S. Miller Date: Thu Mar 29 01:57:57 2007 -0700 [TIGON3]: of_get_property() returns const. Signed-off-by: David S. Miller commit a165b4205e0097c7544ec3c59522a3b20ec14eb1 Author: David S. Miller Date: Thu Mar 29 01:50:16 2007 -0700 [SPARC64]: Fix PCI rework to adhere to of_get_property() const return. Signed-off-by: David S. Miller commit f1cfdb55f16596752e8a61a8570a90ee26af183a Author: David S. Miller Date: Thu Mar 15 22:52:18 2007 -0700 [SPARC64]: Document and fix calculation of pages_avail. It should be set to the total number of pages that the system will really have available after things like initmem, the bootmem map, and initrd are freed up. Signed-off-by: David S. Miller commit 0f3e25049e0a54916d0991c1eaa5f8df926c7f92 Author: David S. Miller Date: Thu Mar 15 21:44:03 2007 -0700 [SPARC64]: Make sure pbm->prom_node is setup easly enough in psycho.c It needs to be ready before we invoke pci_determine_mem_io_space(). Signed-off-by: David S. Miller commit 3996465392fd1632b671707d16bbc96a9481cfe2 Author: David S. Miller Date: Thu Mar 15 19:36:53 2007 -0700 [SPARC64]: Use bootmem_bootmap_pages() in choose_bootmap_pfn(). Signed-off-by: David S. Miller commit b93f2620231d4641bdbaaa952d3e8890687124bb Author: David S. Miller Date: Thu Mar 15 18:29:13 2007 -0700 [SPARC64]: Add proper header file extern for cmdline_memory_size. Signed-off-by: David S. Miller commit 9753f0d6502acd65761ff15244d26d0e88f0820a Author: David S. Miller Date: Thu Mar 15 18:26:00 2007 -0700 [SPARC64]: Kill sparc_ultra_dump_{i,d}tlb() While useful in odd circumstances to debug something, they are normally totally unused and anyone can fetch this code out of the history if they really need it. And in any event, the person who needs this kind of code is usually me :-) Signed-off-by: David S. Miller commit 85f1e1f66011e67e68065f2db4cde499decb9c84 Author: David S. Miller Date: Thu Mar 15 17:51:26 2007 -0700 [SPARC64]: Use DECLARE_BITMAP and BITS_TO_LONGS in mm/init.c Signed-off-by: David S. Miller commit 5be4a963675d3270fab7f55e8c4a2e56afd408f6 Author: David S. Miller Date: Thu Mar 15 16:00:29 2007 -0700 [SPARC64]: Give move verbose show_mem() output just like i386. We now report everything i386 does except for highmem which doesn't apply. Signed-off-by: David S. Miller commit 28256ca2e04c72eee1e83524d7f78ce5646030e2 Author: David S. Miller Date: Thu Mar 15 15:56:07 2007 -0700 [SPARC64]: Mark show_mem() printk's with KERN_INFO. Signed-off-by: David S. Miller commit a94aa2530643f02a4b243f81b5f6354b9b958d7e Author: David S. Miller Date: Thu Mar 15 15:50:11 2007 -0700 [SPARC64]: Kill kvaddr_to_phys() and friends. Just inline it into flush_icache_range() which is the only user. Signed-off-by: David S. Miller commit 4be5c34dc47b5a9e6f91c8f5937a93c464870b8e Author: David S. Miller Date: Thu Mar 15 15:44:05 2007 -0700 [SPARC64]: Privatize sun4u_get_pte() and fix name. __get_phys is only called from init.c as is prom_virt_to_phys(), __get_iospace() is not called at all, and sun4u_get_pte() is largely misnamed. Privatize the implementation and helper functions of sun4u_get_phys() to mm/init.c, and rename to kvaddr_to_paddr(). The only used of this thing is flush_icache_range(), and thus things can be considerably further simplified. For example, we should only see module or PAGE_OFFSET kernel addresses here, so we don't need the OBP firmware range handling at all. Signed-off-by: David S. Miller commit a0963bdfb91ca97c2b0b6d4ca81ff557fac66901 Author: David S. Miller Date: Thu Mar 15 15:09:06 2007 -0700 [SPARC64]: Kill _start[]/_end[] declarations in mm/init.c We already get those from asm/sections.h Signed-off-by: David S. Miller commit 4e286d5be63c93b17f8a82d6f3618faa9c1b025c Author: David S. Miller Date: Thu Mar 15 00:21:45 2007 -0700 [SPARC64]: MAX_PHYSADDR_BITS et al. really need to be 42 bits not 41. Signed-off-by: David S. Miller commit 0015d3d68c84eb33e6b380802ad61b23f7eb6523 Author: David S. Miller Date: Thu Mar 15 00:06:34 2007 -0700 [SPARC64]: Simplify read_obp_memory(). Kick out empty entries as soon as we spot them, and use memmove() instead of a silly loop to make the operation more clear. Signed-off-by: David S. Miller commit d78d0891d3dd976a2fb707c6c691d9cd5ed60727 Author: David S. Miller Date: Wed Mar 14 22:47:01 2007 -0700 [SPARC64]: Use SPARSEMEM_STATIC Decrease the SECTION_SIZE_BITS --> MAX_PHYSADDR_BITS range a little bit. The cost of going to SPARSEMEM_STATIC becomes 8K of BSS space, and in return we save a pointer dereferences on every page struct lookup. Even better we hit the main kernel image for the base address which is in a hugepage locked TLB entry. Signed-off-by: David S. Miller commit 43bed127376ff2ef9c268cf6688a43d0fbed2ff4 Author: David S. Miller Date: Wed Mar 14 18:33:49 2007 -0700 [SPARC64]: Use DECLARE_BITMAP in struct pci_iommu. Signed-off-by: David S. Miller commit 28f57e774d91ce01e03ff65caa2313bc8786b66f Author: David S. Miller Date: Mon Mar 12 19:40:26 2007 -0700 [SPARC64]: Force dummy host controller onto bus zero. This helps deal with the invisible bridge that sits between the host controller and the top-most visisble PCI devices on hypervisor systems. For example, on T1000 the bus-range property says 2 --> 4 and so there is a PCI express bridge at bus 2, devfn 0, etc. So if we don't force the dummy host controller to bus zero, we'll try to create two devices with the same domain/bus/devfn triplet. Also, add some more log diagnostics to make debugging stuff like this easyer. Signed-off-by: David S. Miller commit 97b3cf050b467dda571943ceadff5452bed04549 Author: David S. Miller Date: Sun Mar 11 16:42:53 2007 -0700 [SPARC64]: Add dummy host controller to root of all PCI domains. We fake up a dummy one in all cases because that is the simplest thing to do and it happens to be necessary for hypervisor systems. Signed-off-by: David S. Miller commit c6e87566ea080bbbe926c0e429fed48e6f680d93 Author: David S. Miller Date: Fri Mar 9 16:58:43 2007 -0800 [SPARC64]: Const'ify pci_iommu_ops. Based upon a similar patch for x86_64 written by Stephen Hemminger. Signed-off-by: David S. Miller commit 0bba2dd823fd995ed805ae5cbd5a1c1381257a12 Author: David S. Miller Date: Thu Mar 8 23:06:39 2007 -0800 [SPARC64]: Kill pbm->pci_first_slot. Set but never used. Signed-off-by: David S. Miller commit 3875c5c02d7112aa85f815d65d8add2e39ae9e34 Author: David S. Miller Date: Thu Mar 8 22:52:11 2007 -0800 [SPARC64]: Kill pci_controller->pbms_same_domain We don't do the "Simba APB is a PBM" bogosity for Sabre controllers any longer, so this pbms_same_domain thing is no longer necessary. Signed-off-by: David S. Miller commit 8d3aee937596d2ca6676c2c27789751445bf0bc9 Author: David S. Miller Date: Thu Mar 8 22:46:02 2007 -0800 [SPARC64]: Kill pci_controller->base_address_update(). Implemented but never actually used. Signed-off-by: David S. Miller commit 0bae5f81b6f8130f5197e59b0e2ad6820c766b2b Author: David S. Miller Date: Thu Mar 8 22:42:19 2007 -0800 [SPARC64]: Kill pci_controller->resource_adjust() All the implementations can be identical and generic, so no need for controller specific methods. Signed-off-by: David S. Miller commit 3487a1f9e719d36c9b2d4d492994b2dd815a58b7 Author: David S. Miller Date: Thu Mar 8 22:28:17 2007 -0800 [SPARC64]: Kill PBM ranges software state. It is only used in one spot and we can just fetch the OF property right there. Signed-off-by: David S. Miller commit 229177c7f38d6a2b1285b42da4b19d76346b4bac Author: David S. Miller Date: Thu Mar 8 22:11:00 2007 -0800 [SPARC64]: Kill PBM intmap software state. Set but never used. Signed-off-by: David S. Miller commit 9fd8b64761d3fe7e4ef567161be57e4234af5c1c Author: David S. Miller Date: Thu Mar 8 21:55:49 2007 -0800 [SPARC64]: Consolidate PCI mem/io resource determination. It can be done for every PCI configuration using OF properties. Signed-off-by: David S. Miller commit 01f94c4a6ced476ce69b895426fc29bfc48c69bd Author: David S. Miller Date: Sun Mar 4 12:53:19 2007 -0800 [SPARC64]: Fix sabre pci controllers with new probing scheme. The SIMBA APB bridge is strange, it is a PCI bridge but it lacks some standard OF properties, in particular it lacks a 'ranges' property. What you have to do is read the IO and MEM range registers in the APB bridge to determine the ranges handled by each bridge. So fill in the bus resources by doing that. Since we now handle this quirk in the generic PCI and OF device probing layers, we can flat out eliminate all of that code from the sabre pci controller driver. In fact we can thus eliminate completely another quirk of the sabre driver. It tried to make the two APB bridges look like PBMs but that makes zero sense now (and it's questionable whether it ever made sense). So now just use pbm_A and probe the whole PCI hierarchy using that as the root. This simplification allows many future cleanups to occur. Also, I've found yet another quirk that needs to be worked around while testing this. You can't use the 'class-code' OF firmware property, especially for IDE controllers. We have to read the value out of PCI config space or else we'll see the value the device was showing before it was programmed into native mode. I'm starting to think it might be wise to just read all of the values out of PCI config space instead of using the OF properties. :-/ Signed-off-by: David S. Miller commit a378fd0ee8ea6af5dafd0ab3d634f22b926b5ac4 Author: David S. Miller Date: Thu Mar 1 11:46:13 2007 -0800 [SPARC64]: Fix obppath pci device sysfs creation. Need to traverse recursively down child busses else we only get the file created under devices at the top-level. Signed-off-by: David S. Miller commit bc606f3c917aa453fca62b76c8e9998b4171f4fa Author: David S. Miller Date: Thu Mar 1 11:20:37 2007 -0800 [SPARC64]: Minor cleanups to schizo pci controller driver. Signed-off-by: David S. Miller commit 1e8a8cc52daa95e702303ca3ce67955a4c051d7d Author: David S. Miller Date: Wed Feb 28 23:38:38 2007 -0800 [SPARC64]: Internalize pci_memspace_mask. The only user was bus_dvma_to_mem() which is no longer used by any driver, so kill that, and the export of pci_memspace_mask. The only user now is the PCI mmap support code. Signed-off-by: David S. Miller commit a2fb23af1c31ad6e0c281e56d385f803229d57fa Author: David S. Miller Date: Wed Feb 28 23:35:04 2007 -0800 [SPARC64]: Probe PCI bus using OF device tree. Almost entirely taken from the 64-bit PowerPC PCI code. This allowed to eliminate a ton of cruft from the sparc64 PCI layer. Signed-off-by: David S. Miller commit deb66c4521e119442aa266553e8cbfc86eb71232 Author: David S. Miller Date: Wed Feb 28 18:01:38 2007 -0800 [SPARC64] isa: Convert to use pci_device_to_OF_node(). Also, do not try to compute resources by hand, instead use the pre-computed ones in the of_device. Signed-off-by: David S. Miller commit 1327e9b62fc88e64ffbbd42d61fccd34e521bb86 Author: David S. Miller Date: Wed Feb 28 17:55:46 2007 -0800 [SPARC64] ebus: Convert to use pci_device_to_OF_node(). Also, we don't need to store or use the PBM so kill that from the linux_ebus. Signed-off-by: David S. Miller commit 9b1caafe09ccec8e0103e9375b711e3a0c838260 Author: David S. Miller Date: Wed Feb 28 17:05:06 2007 -0800 [IGAFB]: Use pci_device_to_OF_node() on sparc. Also __sparc__ --> CONFIG_SPARC Signed-off-by: David S. Miller commit a02079cdb74dde27391d019abca4a37988504b4e Author: David S. Miller Date: Wed Feb 28 17:02:45 2007 -0800 [ATYFB]: Use pci_device_to_OF_node() in sparc. Signed-off-by: David S. Miller commit fa449bd602c8871da48e6dbadfa0faaf4d33d32e Author: David S. Miller Date: Wed Apr 25 16:01:51 2007 -0700 [OPENPROM]: Use pci_device_to_OF_node(). Signed-off-by: David S. Miller commit d297c31fd101473983c17734a7e8a3752da1880f Author: David S. Miller Date: Thu Mar 29 01:41:28 2007 -0700 [TULIP]: Use pci_device_to_OF_node() on sparc. Signed-off-by: David S. Miller commit 49345103fef36617abc9a649dfc34f7e921c6878 Author: David S. Miller Date: Thu Mar 29 01:39:44 2007 -0700 [TULIP]: Use CONFIG_SPARC consistently in ifdef tests. Signed-off-by: David S. Miller commit 49b6e95ff6d05722bcf7a52b00454566ce0c44eb Author: David S. Miller Date: Thu Mar 29 01:38:42 2007 -0700 [TG3]: Use pci_device_to_OF_node() on sparc. And use CONFIG_SPARC instead of CONFIG_SPARC64 as the test. Signed-off-by: David S. Miller commit 6f85a8597d1d0d8ceeec5a82881c6ddf5cfb45e5 Author: David S. Miller Date: Wed Feb 28 16:40:57 2007 -0800 [SUNHME]: Use pci_device_to_OF_node(). Signed-off-by: David S. Miller commit 457e1a8afbcf5deffa501f2e9829526c18ed55b5 Author: David S. Miller Date: Thu Mar 29 01:36:44 2007 -0700 [SUNGEM]: Consolidate powerpc and sparc MAC probing code. Signed-off-by: David S. Miller commit dadb830dac401c4b1420ee2fd6c7559871b43319 Author: David S. Miller Date: Wed Feb 28 15:42:50 2007 -0800 [SUNGEM]: __sparc__ --> CONFIG_SPARC Signed-off-by: David S. Miller commit 9f47df264fa53e562cafa0de4a405d0846a81fbd Author: David S. Miller Date: Thu Mar 29 01:33:46 2007 -0700 [RADEON]: Probe clocks and monitor using OF properties on sparc. Just like powerpc does. Signed-off-by: David S. Miller commit a8b8814bdfe3bb2bdfa23722de947bad8283037c Author: David S. Miller Date: Thu Mar 29 01:28:51 2007 -0700 [SPARC]: Use strcasecmp for OFW property name comparisons. This allows us to simplify sharing code with powerpc which has properties that have various forms of capitalization when on the sparc64 side the property is all lower-case. Signed-off-by: David S. Miller commit ded220bd8f0823771fc0a9bdf7f5bcbe543197b6 Author: David S. Miller Date: Thu Mar 29 01:18:42 2007 -0700 [STRING]: Move strcasecmp/strncasecmp to lib/string.c We have several platforms using local copies of identical code. Signed-off-by: David S. Miller commit 357418e7cac16fed4ca558c6037d189d2109c9c2 Author: Stephen Rothwell Date: Thu Mar 29 00:54:04 2007 -0700 [SPARC]: constify some paramaters of OF routines This starts bringing the PowerPC and Sparc implemetations back closer together. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 64b94701c0714f814e640ff351d5f784fdc0381e Author: Stephen Rothwell Date: Thu Mar 29 00:53:28 2007 -0700 [SPARC/64]: constify of_get_property return Finally, we actually change the functions themselves. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 3198514d2d10fb3ce5e49ba0c611764ad8a214d0 Author: Stephen Rothwell Date: Thu Mar 29 00:50:57 2007 -0700 [SPARC/64] constify of_get_property return: sound Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 66f3cb7ccfe6d735bd1fa435aebc9b985ac74e07 Author: Stephen Rothwell Date: Thu Mar 29 00:50:29 2007 -0700 [SPARC64] constify of_get_property return: include Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit ccf0dec6fcadb4e1c877b9bafb031a6bdb7112b9 Author: Stephen Rothwell Date: Thu Mar 29 00:49:54 2007 -0700 [SPARC/64] constify of_get_property return: drivers The only unfortunate bit here is that the name field of struct map_info is not const, so for now we put a cast on the assignment of it. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 6a23acf3905287eb952a6f1dbbc8fb3e4eeae2f6 Author: Stephen Rothwell Date: Mon Apr 23 15:53:27 2007 -0700 [SPARC64]: constify of_get_property return: arch/sparc64 Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 8271f04242af8ddf8390f289cd6ef78fb3e3c6d9 Author: Stephen Rothwell Date: Thu Mar 29 00:47:23 2007 -0700 [SPARC]: constify of_get_property return: arch/sparc Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 644923d4a5f117d437aefd47688d1141cc8361ed Author: Tony Breeds Date: Wed Mar 28 19:10:12 2007 -0700 [SPARC64]: Small cleanups time.c - Removes days_in_mo[], as it's almost identical to month_days[] - Use the leapyear() macro - Line length wrapping. Signed-off-by: Tony Breeds Signed-off-by: David S. Miller commit d62c6f093a1ef8fa5f8951e8da93c8ddd3ce193a Author: David S. Miller Date: Tue Mar 27 01:20:14 2007 -0700 [SPARC64]: Fix sparc64_next_event() error return. It should return an error code not a boolean. Based upon an hpet timer fix by Thomas Gleixner. Signed-off-by: David S. Miller commit 112f48716d9f292c92a033cff9e3ce7405ed4280 Author: David S. Miller Date: Mon Mar 5 15:28:37 2007 -0800 [SPARC64]: Add clocksource/clockevents support. I'd like to thank John Stul and others for helping me along the way. A lot of cleanups fell out of this. For example, the get_compare() tick_op was totally unused, so was deleted. And the most often used tick_op members were grouped together for cache-friendlyness. The sparc64 TSC is given to the kernel as a one-shot timer. tick_ops->init_timer() simply turns off the privileged bit in the tick register (when possible), and disables the interrupt by setting bit 63 in the compare register. The ->disable_irq() op also sets this bit. tick_ops->add_compare() is changed to: 1) Add the given delta to "tick" not to "compare" 2) Return a boolean which, if true, means that the tick value read after writing the compare value was found to have incremented past the initial tick value. This mirrors logic used in the HPET driver's ->next_event() method. Each tick_ops implementation also now provides a name string. And we feed this into the clocksource and clockevents layers. Signed-off-by: David S. Miller commit 038cb01ea69cb24ecf30e3ec882e429c84badbeb Author: David S. Miller Date: Thu Feb 22 06:24:45 2007 -0800 [SPARC64]: Add tick_nohz_{stop,restart}_sched_tick() calls to cpu_idle(). Signed-off-by: David S. Miller commit 777a447529ad138f5fceb9c9ad28bab19848f277 Author: David S. Miller Date: Thu Feb 22 06:24:10 2007 -0800 [SPARC64]: Unify timer interrupt handler. Things were scattered all over the place, split between SMP and non-SMP. Unify it all so that dyntick support is easier to add. Signed-off-by: David S. Miller commit a58c9f3c1e929c3c323c26dbdafef46373a719d4 Author: David S. Miller Date: Thu Feb 22 04:16:21 2007 -0800 [SPARC64]: Synchronize RTC clock via timer just like x86. Signed-off-by: David S. Miller commit bfbf3c0968498f5232c02965cf41695edae1bc4d Author: Matthias Kaehlcke Date: Thu Apr 26 01:41:49 2007 -0700 [ATM]: Use mutex instead of binary semaphore in FORE Systems 200E-series driver (akpm: remove CVS control string too) Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 74da9d88bf5ffd31aed61a0b19519684ad744ded Author: Andrew Morton Date: Thu Apr 26 01:41:01 2007 -0700 [BLUETOOTH] rfcomm_worker(): fix wakeup race Set TASK_INTERRUPTIBLE prior to testing the flag to avoid missed wakeups. Signed-off-by: Andrew Morton Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit 9198d2220d29b87ac3a05a3b791c50bb8a014d63 Author: Alexandra N. Kossovsky Date: Thu Apr 26 01:40:13 2007 -0700 [NET]: bonding documentation fix for multiple bonding interfaces Fix bonding driver documentation for the case of multiple bonding interfaces. Signed-off-by: "Alexandra N. Kossovsky" Acked-by: Jay Vosburgh Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4ef8d0aeafda8388dd51f2671b7059192b1e5a5f Author: Milind Arun Choudhary Date: Thu Apr 26 01:37:44 2007 -0700 [NET]: SPIN_LOCK_UNLOCKED cleanup in drivers/atm, net SPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead Signed-off-by: Milind Arun Choudhary Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1c8ea5aee0b16409295d96a5e8984bd902f06a77 Author: Andrew Morton Date: Thu Apr 26 01:36:49 2007 -0700 [IRDA] irda_device_dongle_init: fix kzalloc(GFP_KERNEL) in spinlock Fix http://bugzilla.kernel.org/show_bug.cgi?id=8343 Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit ef2e58ea6b9931c3a4816c66593da49bb20e3b24 Merge: 06d63cc... de46c33... Author: David Woodhouse Date: Thu Apr 26 09:31:28 2007 +0100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 14690fc649f4c59712f497135f7323eb8ceceaaf Author: Martin Peschke Date: Thu Apr 26 01:03:43 2007 -0700 [SUNRPC]: cleanup: use seq_release_private() where appropriate We can save some lines of code by using seq_release_private(). Signed-off-by: Martin Peschke Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f8a6d97043f9adc25889876b681998b77f543bfa Author: Alexey Dobriyan Date: Thu Apr 26 01:02:51 2007 -0700 [AF_IUCV]: Fix compilation on s390-up CC [M] net/iucv/iucv.o net/iucv/iucv.c: In function 'iucv_init': net/iucv/iucv.c:1556: error: 'iucv_cpu_notifier' undeclared (first use in this function) Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 57cd5f754e04240ee587c51b7be8d3b7793542ae Author: Milind Arun Choudhary Date: Thu Apr 26 01:01:53 2007 -0700 [NET]: ROUND_UP macro cleanup in drivers/net/ppp_generic.c ROUND_UP macro cleanup use DIV_ROUND_UP Signed-off-by: Milind Arun Choudhary Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 36226a8ded46b89a94f9de5976f554bb5e02d84c Author: Brian Braunstein Date: Thu Apr 26 01:00:55 2007 -0700 [NET] tun/tap: fixed hw address handling Fixed tun/tap driver's handling of hw addresses. The hw address is stored in both the net_device.dev_addr and tun.dev_addr fields. These fields were not kept synchronized, and in fact weren't even initialized to the same value. Now during both init and when performing SIOCSIFHWADDR on the tun device these values are both updated. However, if SIOCSIFHWADDR is performed on the net device directly (for instance, setting the hw address using ifconfig), the tun device does not get updated. Perhaps the tun.dev_addr field should be removed completely at some point, as it is redundant and net_device.dev_addr can be used anywhere it is used. Signed-off-by: Brian Braunstein Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 48491e6bdb8fa73751cc95f740175ec799db5d55 Author: Robert P. J. Day Date: Thu Apr 26 00:59:27 2007 -0700 [NET]: Delete unused header file linux/if_wanpipe_common.h Delete the unreferenced header file include/linux/if_wanpipe_common.h, as well as the reference to it in the Doc file. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit c1a068f6b0c38665c079e8d4ca241e24020eff36 Author: Robert P. J. Day Date: Thu Apr 26 00:58:39 2007 -0700 [NET]: Delete unused header file linux/sdla_fr.h. Delete the unreferenced header file include/linux/sdla_fr.h. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton commit 42bad1da506cafa7041a02ab84033a724afe88ac Author: Adrian Bunk Date: Thu Apr 26 00:57:41 2007 -0700 [NETLINK]: Possible cleanups. - make the following needlessly global variables static: - core/rtnetlink.c: struct rtnl_msg_handlers[] - netfilter/nf_conntrack_proto.c: struct nf_ct_protos[] - make the following needlessly global functions static: - core/rtnetlink.c: rtnl_dump_all() - netlink/af_netlink.c: netlink_queue_skip() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 55404bca6c45595fee1a546f1a0cc616aeef0b00 Author: Andrew Morton Date: Thu Apr 26 00:55:53 2007 -0700 [NET]: Fix yam.c drivers/net/hamradio/yam.c: In function `yam_tx_byte': drivers/net/hamradio/yam.c:643: warning: passing arg 1 of `skb_copy_from_linear_data_offset' from incompatible pointer type Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit eefa3906283a2b60a6d02a2cda593a7d7d7946c5 Author: Jean Delvare Date: Thu Apr 26 00:44:22 2007 -0700 [NET]: Clean up sk_buff walkers. I noticed recently that, in skb_checksum(), "offset" and "start" are essentially the same thing and have the same value throughout the function, despite being computed differently. Using a single variable allows some cleanups and makes the skb_checksum() function smaller, more readable, and presumably marginally faster. We appear to have many other "sk_buff walker" functions built on the exact same model, so the cleanup applies to them, too. Here is a list of the functions I found to be affected: net/appletalk/ddp.c:atalk_sum_skb() net/core/datagram.c:skb_copy_datagram_iovec() net/core/datagram.c:skb_copy_and_csum_datagram() net/core/skbuff.c:skb_copy_bits() net/core/skbuff.c:skb_store_bits() net/core/skbuff.c:skb_checksum() net/core/skbuff.c:skb_copy_and_csum_bit() net/core/user_dma.c:dma_skb_copy_datagram_iovec() net/xfrm/xfrm_algo.c:skb_icv_walk() net/xfrm/xfrm_algo.c:skb_to_sgvec() OTOH, I admit I'm a bit surprised, the cleanup is rather obvious so I'm really wondering if I am missing something. Can anyone please comment on this? Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 28d8909bc790d936ce33f4402adf7577533bbd4b Author: Jamal Hadi Salim Date: Thu Apr 26 00:10:29 2007 -0700 [XFRM]: Export SAD info. On a system with a lot of SAs, counting SAD entries chews useful CPU time since you need to dump the whole SAD to user space; i.e something like ip xfrm state ls | grep -i src | wc -l I have seen taking literally minutes on a 40K SAs when the system is swapping. With this patch, some of the SAD info (that was already being tracked) is exposed to user space. i.e you do: ip xfrm state count And you get the count; you can also pass -s to the command line and get the hash info. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 06d63cc51d47f572009138a7f3ac34d95773405d Author: Randy Dunlap Date: Wed Apr 25 22:41:34 2007 -0700 [MTD] [MAPS] fix plat-ram printk format drivers/mtd/maps/plat-ram.c:172: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t' Signed-off-by: Randy Dunlap Signed-off-by: David Woodhouse commit f6449f4ece2bf283500bda73edcbea82f2cb3a1b Author: Andrew Morton Date: Thu Apr 26 07:27:04 2007 +0100 [JFFS2] Fix compr_rubin.c build after include file elimination. It seems to be silly season lately. (Oops, test builds are more useful if the file in question is actually configured on. dwmw2). Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f50393fe869ba457cd75569c74c0f9bd2e7f7a0f Author: Mark Huth Date: Tue Mar 6 08:57:26 2007 -0800 e1000: FIX: Stop raw interrupts disabled nag from RT Current e1000_xmit_frame spews raw interrupt disabled nag messages when used with RT kernel patches. This patch uses spin_trylock_irqsave, which allows RT patches to properly manage the irq semantics. Signed-off-by: Mark Huth Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 31d76442f719af834718cbf5bf866370acc36093 Author: Bruce Allan Date: Tue Mar 6 08:57:24 2007 -0800 e1000: FIX: firmware handover bits Upon code inspection it was spotted that the firmware handover bit get/set mismatched, which may have resulted in management issues on PCI-E adapters. Setting them correctly may fix some management issues such as arp routing etc. Signed-off-by: Auke Kok Signed-off-by: Bruce Allan Signed-off-by: Jeff Garzik commit e0aac5a289b1dacbc94bd9ae8c449bcdf9ab508c Author: Auke Kok Date: Tue Mar 6 08:57:21 2007 -0800 e1000: FIX: be ready for incoming irq at pci_request_irq DEBUG_SHIRQ code exposed that e1000 was not ready for incoming interrupts after having called pci_request_irq. This obviously requires us to finish our software setup which assigns the irq handler before we request the irq. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e900a7d90ae1486ac95c10e0b7337fc2c2eda529 Author: Stephen Smalley Date: Thu Apr 19 14:16:19 2007 -0400 selinux: preserve boolean values across policy reloads At present, the userland policy loading code has to go through contortions to preserve boolean values across policy reloads, and cannot do so atomically. As this is what we always want to do for reloads, let the kernel preserve them instead. Signed-off-by: Stephen Smalley Acked-by: Karl MacMillan Signed-off-by: James Morris commit bce34bc0eef03c68b5c49a3cc5bc77c84760cfe2 Author: James Carter Date: Wed Apr 4 16:18:50 2007 -0400 selinux: change numbering of boolean directory inodes in selinuxfs Change the numbering of the booleans directory inodes in selinuxfs to provide more room for new inodes without a conflict in inode numbers and to be consistent with how inode numbering is done in the initial_contexts directory. Signed-off-by: James Carter Acked-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 68b00df9bb5f38e87c102b3179a18eba9c9937a8 Author: James Carter Date: Wed Apr 4 16:18:43 2007 -0400 selinux: remove unused enumeration constant from selinuxfs Remove the unused enumeration constant, SEL_AVC, from the sel_inos enumeration in selinuxfs. Signed-off-by: James Carter Acked-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit 6174eafce3a38114adc6058e2872434c53feae87 Author: James Carter Date: Wed Apr 4 16:18:39 2007 -0400 selinux: explicitly number all selinuxfs inodes Explicitly number all selinuxfs inodes to prevent a conflict between inodes numbered using last_ino when created with new_inode() and those labeled explicitly. Signed-off-by: James Carter Acked-by: Eric Paris Acked-by: Stephen Smalley Signed-off-by: James Morris commit f0ee2e467ffa68c3122128b704c1540ee294b748 Author: James Carter Date: Wed Apr 4 10:11:29 2007 -0400 selinux: export initial SID contexts via selinuxfs Make the initial SID contexts accessible to userspace via selinuxfs. An initial use of this support will be to make the unlabeled context available to libselinux for use for invalidated userspace SIDs. Signed-off-by: James Carter Acked-by: Stephen Smalley Signed-off-by: James Morris commit a764ae4b0781fac75f9657bc737c37ae59888389 Author: Stephen Smalley Date: Mon Mar 26 13:36:26 2007 -0400 selinux: remove userland security class and permission definitions Remove userland security class and permission definitions from the kernel as the kernel only needs to use and validate its own class and permission definitions and userland definitions may change. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 4f6a993f96a256e83b9be7612f958c7bc4ca9f00 Author: Paul Moore Date: Thu Mar 1 14:35:22 2007 -0500 SELinux: move security_skb_extlbl_sid() out of the security server As suggested, move the security_skb_extlbl_sid() function out of the security server and into the SELinux hooks file. Signed-off-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit 588a31577f86a5cd8b0bcde6026e4e6dcac8c383 Author: Stephen Smalley Date: Fri Feb 23 09:20:09 2007 -0500 MAINTAINERS: update selinux entry Add Eric Paris as an SELinux maintainer. Signed-off-by: James Morris commit c60475bf35fc5fa10198df89187ab148527e72f7 Author: Paul Moore Date: Wed Feb 28 15:14:23 2007 -0500 SELinux: rename selinux_netlabel.h to netlabel.h In the beginning I named the file selinux_netlabel.h to avoid potential namespace colisions. However, over time I have realized that there are several other similar cases of multiple header files with the same name so I'm changing the name to something which better fits with existing naming conventions. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 5778eabd9cdbf16ea3e40248c452b4fd25554d11 Author: Paul Moore Date: Wed Feb 28 15:14:22 2007 -0500 SELinux: extract the NetLabel SELinux support from the security server Up until this patch the functions which have provided NetLabel support to SELinux have been integrated into the SELinux security server, which for various reasons is not really ideal. This patch makes an effort to extract as much of the NetLabel support from the security server as possibile and move it into it's own file within the SELinux directory structure. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 128c6b6cbffc8203e13ea5712a8aa65d2ed82e4e Author: Paul Moore Date: Wed Feb 28 15:14:21 2007 -0500 NetLabel: convert a BUG_ON in the CIPSO code to a runtime check This patch changes a BUG_ON in the CIPSO code to a runtime check. It should also increase the readability of the code as it replaces an unexplained constant with a well defined macro. Signed-off-by: Paul Moore Signed-off-by: James Morris commit f998e8cb52396c6a197d14f6afb07144324aea6d Author: Paul Moore Date: Wed Feb 28 15:14:20 2007 -0500 NetLabel: cleanup and document CIPSO constants This patch collects all of the CIPSO constants and puts them in one place; it also documents each value explaining how the value is derived. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 98486fa2f4894e2b01e325c659635596bdec1614 Author: Stephen Hemminger Date: Wed Apr 25 22:08:46 2007 -0700 [BRIDGE]: Missing rtnl. Writing to /sys/class/net/brX/bridge/stp_state causes a warning because RTNL is not held when call br_stp_if.c Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c2886d6259b8faac4c05ffd9c3c401ac84478de0 Author: Stephen Hemminger Date: Wed Apr 25 22:07:58 2007 -0700 [BRIDGE]: if no STP then forward all BPDUs If a bridge is not running STP, then it has no way to detect a cycle in the network. But if it is not running STP and some other machine or device is running STP, then if STP BPDU's get forwarded to it can detect the cycle. This is how the old 2.4 and early 2.6 code worked. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2111f8b9e58fd04b87b8b07d66485f255a57b0bb Author: Stephen Hemminger Date: Wed Apr 25 22:05:55 2007 -0700 [BRIDGE]: drop PAUSE frames Pause frames should never make it out of the network device into the stack. But if a device was misconfigured, it might happen. So drop pause frames in bridge. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 83aa0938ff59e8ef6d0b99260063ebe84fc84a16 Author: Stephen Hemminger Date: Wed Apr 25 22:03:10 2007 -0700 [BRIDGE]: don't change packet type The change to forward STP bpdu's (for usermode STP) through normal path, changed the packet type in the process. Since link local stuff is multicast, it should stay pkt_type = PACKET_MULTICAST. The code was probably copy/pasted incorrectly from the bridge pseudo-device receive path. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e1ec7842df5db897516d73c76bd2a568b4abc33b Author: YOSHIFUJI Hideaki Date: Tue Apr 24 20:44:52 2007 +0900 [IPV6] NDISC: Unify main process of sending ND messages. Because ndisc_send_na(), ndisc_send_ns() and ndisc_send_rs() are almost identical, so let's unify their common part. With gcc (GCC) 3.3.5 (Debian 1:3.3.5-13) on i386, Before: text data bss dec hex filename 14689 364 24 15077 3ae5 net/ipv6/ndisc.o After: text data bss dec hex filename 12317 364 24 12705 31a1 net/ipv6/ndisc.o Signed-off-by: YOSHIFUJI Hideaki commit c53b3590bb294a42121b640e8309379752482b38 Author: YOSHIFUJI Hideaki Date: Tue Apr 24 20:44:50 2007 +0900 [IPV6] XFRM: Use ip6addr_any where applicable. Signed-off-by: YOSHIFUJI Hideaki commit df8981dc1928f3a231d91f27c2b3dc373fb4d410 Author: YOSHIFUJI Hideaki Date: Tue Apr 24 20:44:49 2007 +0900 [IPV6]: Export in6addr_any for future use. Signed-off-by: YOSHIFUJI Hideaki commit 5056a1ef9e2597cff7b15904fbc74193f316fc40 Author: YOSHIFUJI Hideaki Date: Tue Apr 24 20:44:48 2007 +0900 [IPV4] IP_GRE: Unify code path to get hash array index. Signed-off-by: YOSHIFUJI Hideaki commit 87d1a164df0b5e297cda698724ea7984d8392b06 Author: YOSHIFUJI Hideaki Date: Tue Apr 24 20:44:47 2007 +0900 [IPV4] IPIP: Unify code path to get hash array index. Signed-off-by: YOSHIFUJI Hideaki commit 420fe234ad7adaa5a5445e5fab83b1485ed9e0f3 Author: YOSHIFUJI Hideaki Date: Tue Apr 24 20:44:47 2007 +0900 [IPV6] SIT: Unify code path to get hash array index. Signed-off-by: YOSHIFUJI Hideaki commit 30041e4af426bc9ab7a73440ce4a7c78881b6001 Author: David S. Miller Date: Tue Apr 24 22:15:40 2007 -0700 [IPV6]: Fix Makefile thinko. obj-$(CONFIG_PROC_FS) --> ipv6-$(CONFIG_PROC_FS) Signed-off-by: David S. Miller commit 7f7d9a6b96c5708c5184cbed61bbc15b163a0f08 Author: Herbert Xu Date: Tue Apr 24 21:54:09 2007 -0700 [IPV6]: Consolidate common SNMP code This patch moves the non-proc SNMP code into addrconf.c and reuses IPv4 SNMP code where applicable. As a result we can skip proc.o if /proc is disabled. Note that I've made a number of functions static since they're only used by addrconf.c for now. If they ever get used elsewhere we can always remove the static. Signed-off-by: Herbert Xu Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 5e0f04351d11e07a23b5ab4914282cbb78027e50 Author: Herbert Xu Date: Tue Apr 24 21:53:35 2007 -0700 [IPV4]: Consolidate common SNMP code This patch moves the SNMP code shared between IPv4/IPv6 from proc.c into net/ipv4/af_inet.c. This makes sense because these functions aren't specific to /proc. As a result we can again skip proc.o if /proc is disabled. Signed-off-by: Herbert Xu Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bb7ec6dfb5aa32b5b4d7d6388b4098b33cd01e8c Author: YOSHIFUJI Hideaki Date: Tue Apr 24 16:22:42 2007 -0700 [IPV4]: Fix build without procfs. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 84299b3bc4eaedc0734fcc9052b01291e44445fc Author: YOSHIFUJI Hideaki Date: Tue Apr 24 16:21:38 2007 -0700 [TCP]: Fix linkage errors on i386. To avoid raw division, use ktime_to_timeval() to get usec. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 1f9eda7e2b67898fb8e79b3aa3880211b51235e6 Author: Allan Stephens Date: Tue Apr 24 14:51:55 2007 -0700 [TIPC]: Enhancements to msg_set_bits() routine This patch makes two enhancements to msg_set_bits(): 1) It now ignores any bits of the new field value that are not covered by the mask being used. (Previously, if the new value exceeded the size of the mask the extra bits could corrupt other fields in the message header word being updated.) 2) The code has been optimized to minimize the number of run-time endianness conversion operations by leveraging the fact that the mask (and, in some cases, the value as well) is constant and the necessary conversion can be performed by the compiler. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit 43fb45cb79e9441a79ece206cf741774500dd627 Author: Johannes Berg Date: Tue Apr 24 14:07:27 2007 -0700 [WIRELESS] cfg80211: Update comment for locking. This patch adds a comment that was part of my rtnl locking patch for cfg80211 but which I forgot for the merge. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f9d106a6d53b57b78eae5544f9582c643343a764 Author: Herbert Xu Date: Mon Apr 23 22:36:13 2007 -0700 [NET]: Warn about GSO/checksum abuse Now that Patrick has added the code to deal with GSO in netfilter, we no longer need the crutch that computes partial checksums just before transmission. This patch turns this into a warning again. If this goes OK, we can then turn it into a BUG_ON and remove the gso_send_check cruft. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7752237e9f07b316f81aebdc43f0d7c9a4ba0acf Author: Stephen Hemminger Date: Mon Apr 23 22:28:23 2007 -0700 [TCP] TCP YEAH: Use vegas dont copy it. Rather than using a copy of vegas code, the YEAH code should just have it exported so there is common code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 164891aadf1721fca4dce473bb0e0998181537c6 Author: Stephen Hemminger Date: Mon Apr 23 22:26:16 2007 -0700 [TCP]: Congestion control API update. Do some simple changes to make congestion control API faster/cleaner. * use ktime_t rather than timeval * merge rtt sampling into existing ack callback this means one indirect call versus two per ack. * use flags bits to store options/settings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 65d1b4a7e73fe0e1f5275ad7d2d3547981480886 Author: Stephen Hemminger Date: Mon Apr 23 22:24:32 2007 -0700 [TCP]: TCP Illinois update. This version more closely matches the paper, and fixes several math errors. The biggest difference is that it updates alpha/beta once per RTT Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 42431592e74a968d919a46baf0515a2ee6978dac Author: John W. Linville Date: Mon Apr 23 13:28:49 2007 -0700 [WIRELESS] drivers/net/wireless/Kconfig: correct minor typo Correct minor typo in drivers/net/wireless/Kconfig identified by Stefano Brivio . Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9e101eab153073d8a1fc7ea22b20af65de8ab44b Author: Johannes Berg Date: Mon Apr 23 12:20:55 2007 -0700 [WIRELESS]: Remove wext over netlink. As scheduled, this patch removes the pointless wext over netlink code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 704232c2718c9d4b3375ec15a14fc0397970c449 Author: Johannes Berg Date: Mon Apr 23 12:20:05 2007 -0700 [WIRELESS] cfg80211: New wireless config infrastructure. This patch creates the core cfg80211 code along with some sysfs bits. This is a stripped down version to allow mac80211 to function, but doesn't include any configuration yet except for creating and removing virtual interfaces. This patch includes the nl80211 header file but it only contains the interface types which the cfg80211 interface for creating virtual interfaces relies on. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2a5e1c0eb9efe26eed1dd072fe08de5797a7efd5 Author: Johannes Berg Date: Mon Apr 23 12:19:12 2007 -0700 [WIRELESS]: Refactor wireless Kconfig. This patch refactors the wireless Kconfig all over and already introduces net/wireless/Kconfig with just the WEXT bit for now, the cfg80211 patch will add to that as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 724c6b35ecff0fb68bbb315a34b2f9cb694865d3 Author: Johannes Berg Date: Mon Apr 23 12:18:20 2007 -0700 [WIRELESS]: Update MAINTAINERS for wireless mailing list. This patch adds the linux-wireless mailing list to all appropriate entries in the MAINTAINERS file. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 372cc74c8b41d808af0a3fa8b11795cba79e7299 Author: Andrew Morton Date: Sun Apr 22 23:22:24 2007 -0700 [NET]: Prevent much sadness in qdisc_lock_tree(). Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 97fc8d0bc58cd09e62dc06ea5a64b58841738934 Author: YOSHIFUJI Hideaki Date: Sat Apr 21 19:52:04 2007 -0700 [IPV6] SNMP: Use put_unaligned() instead of memcpy(). Hint from David Miller . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 952a10be3272c4b5b7839b09cb0483dc72137101 Author: YOSHIFUJI Hideaki Date: Sat Apr 21 20:13:44 2007 +0900 [IPV6] SNMP: Fix several warnings without procfs. Signed-off-by: YOSHIFUJI Hideaki commit 2334e973559e119fa4161047035f03ad97a8676a Author: YOSHIFUJI Hideaki Date: Sat Apr 21 20:12:43 2007 +0900 [IPV6] SNMP: Avoid unaligned accesses. Because stats pointer may not be aligned for u64, use memcpy to fill u64 values. Issue reported by David Miller . Signed-off-by: YOSHIFUJI Hideaki commit 9e412ba7632f71259a53085665d4983b78257b7c Author: Ilpo Järvinen Date: Fri Apr 20 22:18:02 2007 -0700 [TCP]: Sed magic converts func(sk, tp, ...) -> func(sk, ...) This is (mostly) automated change using magic: sed -e '/struct sock \*sk/ N' -e '/struct sock \*sk/ N' -e '/struct sock \*sk/ N' -e '/struct sock \*sk/ N' -e 's|struct sock \*sk,[\n\t ]*struct tcp_sock \*tp\([^{]*\n{\n\)| struct sock \*sk\1\tstruct tcp_sock *tp = tcp_sk(sk);\n|g' -e 's|struct sock \*sk, struct tcp_sock \*tp| struct sock \*sk|g' -e 's|sk, tp\([^-]\)|sk\1|g' Fixed four unused variable (tp) warnings that were introduced. In addition, manually added newlines after local variables and tweaked function arguments positioning. $ gcc --version gcc (GCC) 4.1.1 20060525 (Red Hat 4.1.1-1) ... $ codiff -fV built-in.o.old built-in.o.new net/ipv4/route.c: rt_cache_flush | +14 1 function changed, 14 bytes added net/ipv4/tcp.c: tcp_setsockopt | -5 tcp_sendpage | -25 tcp_sendmsg | -16 3 functions changed, 46 bytes removed net/ipv4/tcp_input.c: tcp_try_undo_recovery | +3 tcp_try_undo_dsack | +2 tcp_mark_head_lost | -12 tcp_ack | -15 tcp_event_data_recv | -32 tcp_rcv_state_process | -10 tcp_rcv_established | +1 7 functions changed, 6 bytes added, 69 bytes removed, diff: -63 net/ipv4/tcp_output.c: update_send_head | -9 tcp_transmit_skb | +19 tcp_cwnd_validate | +1 tcp_write_wakeup | -17 __tcp_push_pending_frames | -25 tcp_push_one | -8 tcp_send_fin | -4 7 functions changed, 20 bytes added, 63 bytes removed, diff: -43 built-in.o.new: 18 functions changed, 40 bytes added, 178 bytes removed, diff: -138 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 38b4da383705394788aa09208917ba200792de4b Author: Borislav Petkov Date: Fri Apr 20 22:14:10 2007 -0700 [NET]: Fix comments for register_netdev(). Correct the function name in the comments supplied with register_netdev() Signed-off-by: Borislav Petkov Signed-off-by: David S. Miller commit b450777a572d68975c8748b0d48d517dd3468ea6 Author: G. Liakhovetski Date: Fri Apr 20 22:12:48 2007 -0700 [IrDA]: Misc spelling corrections. Spelling corrections, from "to" to "too". Signed-off-by: G. Liakhovetski Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 599b1fa91439cff8605a71f1a2b5bb42c177b667 Author: Samuel Ortiz Date: Fri Apr 20 22:12:07 2007 -0700 [IrDA]: Adding carriage returns to mcs7780 debug statements Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit c3ea9fa2741320f9cade15efe10559b549af4ebf Author: Samuel Ortiz Date: Fri Apr 20 22:10:13 2007 -0700 [IrDA] af_irda: IRDA_ASSERT cleanups In af_irda.c, the multiple IRDA_ASSERT() are either hiding bugs, useless, or returning the wrong value. Let's clean that up. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit d7f48d1a9398a3bd7bb6f4774640b24a0294cda3 Author: Samuel Ortiz Date: Fri Apr 20 22:09:33 2007 -0700 [IrDA] af_irda: irda_accept cleanup This patch removes a cut'n'paste copy of wait_event_interruptible from irda_accept. Signed-off-by: Samuel Ortiz Acked-by: Olaf Kirch Signed-off-by: David S. Miller commit 6e66aa15d8873ae7418d5afc6476daec466ff93b Author: Olaf Kirch Date: Fri Apr 20 22:08:15 2007 -0700 [IrDA] af_irda: Silence kernel message in irda_recvmsg_stream This patch silences an IRDA_ASSERT in irda_recvmsg_stream, as described in http://bugzilla.kernel.org/show_bug.cgi?id=7512 irda_disconnect_indication would set sk->sk_err to ECONNRESET, and a subsequent call to recvmsg would print an irritating kernel message and return -1. When a connected socket is closed by the peer, recvmsg should return 0 rather than an error. This patch fixes this. Signed-off-by: Olaf Kirch Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 305f2aa18214555e611ad05e586dd385e64ab665 Author: Olaf Kirch Date: Fri Apr 20 22:05:27 2007 -0700 [IrDA] af_irda: irda_recvmsg_stream cleanup This patch cleans up some code in irda_recvmsg_stream, replacing some homebrew code with prepare_to_wait/finish_wait, and by making the code honor sock_rcvtimeo. Signed-off-by: Olaf Kirch Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 9958089a43ae8a9af07402461c0b2b7548c7341e Author: Andi Kleen Date: Fri Apr 20 17:12:43 2007 -0700 [NET]: Move sk_setup_caps() out of line. It is far too large to be an inline and not in any hot paths. Signed-off-by: Andi Kleen Signed-off-by: David S. Miller commit 4ac02bab77438b484a5cf855a002fb6a1d592894 Author: Andi Kleen Date: Fri Apr 20 17:11:46 2007 -0700 [TCP]: Uninline tcp_done(). The function is quite big and has several call sites and nothing to collapse by compiler optimization on inlining. Besides it's nicer to read in a in .c file. Signed-off-by: Andi Kleen Signed-off-by: David S. Miller commit 3ff50b7997fe06cd5d276b229967bb52d6b3b6c1 Author: Stephen Hemminger Date: Fri Apr 20 17:09:22 2007 -0700 [NET]: cleanup extra semicolons Spring cleaning time... There seems to be a lot of places in the network code that have extra bogus semicolons after conditionals. Most commonly is a bogus semicolon after: switch() { } Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c462238d6a6d8ee855bda10f9fff442971540ed2 Author: Stephen Hemminger Date: Fri Apr 20 17:07:51 2007 -0700 [TCP]: TCP Illinois congestion control (rev3) This is an implementation of TCP Illinois invented by Shao Liu at University of Illinois. It is a another variant of Reno which adapts the alpha and beta parameters based on RTT. The basic idea is to increase window less rapidly as delay approaches the maximum. See the papers and talks to get a more complete description. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9be9a6b983314dd57e2c5ba548dee8b53d338ac3 Author: Stephen Hemminger Date: Fri Apr 20 17:02:45 2007 -0700 [NET]: Get rid of netdev_nit It isn't any faster to test a boolean global variable than do a simple check for empty list. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 42dc9cd54b7290f862874a2544e50395e5719985 Author: Michal Ostrowski Date: Fri Apr 20 16:59:24 2007 -0700 [PPPOE]: Fix device tear-down notification. pppoe_flush_dev() kicks all sockets bound to a device that is going down. In doing so, locks must be taken in the right order consistently (sock lock, followed by the pppoe_hash_lock). However, the scan process is based on us holding the sock lock. So, when something is found in the scan we must release the lock we're holding and grab the sock lock. This patch fixes race conditions between this code and pppoe_release(), both of which perform similar functions but would naturally prefer to grab locks in opposing orders. Both code paths are now going after these locks in a consistent manner. pppoe_hash_lock protects the contents of the "pppox_sock" objects that reside inside the hash. Thus, NULL'ing out the pppoe_dev field should be done under the protection of this lock. Signed-off-by: Michal Ostrowski Signed-off-by: David S. Miller commit 202a03acf9994076055df40ae093a5c5474ad0bd Author: Florian Zumbiehl Date: Fri Apr 20 16:58:14 2007 -0700 [PPPOE]: memory leak when socket is release()d before PPPIOCGCHAN has been called on it below you find a patch that fixes a memory leak when a PPPoE socket is release()d after it has been connect()ed, but before the PPPIOCGCHAN ioctl ever has been called on it. This is somewhat of a security problem, too, since PPPoE sockets can be created by any user, so any user can easily allocate all the machine's RAM to non-swappable address space and thus DoS the system. Is there any specific reason for PPPoE sockets being available to any unprivileged process, BTW? After all, you need a packet socket for the discovery stage anyway, so it's unlikely that any unprivileged process will ever need to create a PPPoE socket, no? Allocating all session IDs for a known AC is a kind of DoS, too, after all - with Juniper ERXes, this is really easy, actually, since they don't ever assign session ids above 8000 ... Signed-off-by: Florian Zumbiehl Acked-by: Michal Ostrowski Signed-off-by: David S. Miller commit 74b885cf86def9bc836772e3c1788c00b72a35c9 Author: Florian Zumbiehl Date: Fri Apr 20 16:57:27 2007 -0700 [PPPOE]: race between interface going down and connect() below you find a patch that (hopefully) fixes a race between an interface going down and a connect() to a peer on that interface. Before, connect() would determine that an interface is up, then the interface could go down and all entries referring to that interface in the item_hash_table would be marked as ZOMBIEs and their references to the device would be freed, and after that, connect() would put a new entry into the hash table referring to the device that meanwhile is down already - which also would cause unregister_netdevice() to wait until the socket has been release()d. This patch does not suffice if we are not allowed to accept connect()s referring to a device that we already acked a NETDEV_GOING_DOWN for (that is: all references are only guaranteed to be freed after NETDEV_DOWN has been acknowledged, not necessarily after the NETDEV_GOING_DOWN already). And if we are allowed to, we could avoid looking through the hash table upon NETDEV_GOING_DOWN completely and only do that once we get the NETDEV_DOWN ... mostrows: pppoe_flush_dev is called on NETDEV_GOING_DOWN and NETDEV_DOWN to deal with this "late connect" issue. Ideally one would hope to notify users at the "NETDEV_GOING_DOWN" phase (just to pretend to be nice). However, it is the NETDEV_DOWN scan that takes all the responsibility for ensuring nobody is hanging around at that time. Signed-off-by: Florian Zumbiehl Acked-by: Michal Ostrowski Signed-off-by: David S. Miller commit bfafb26e11849fe99e03cc1902a91f7f65354e47 Author: Florian Zumbiehl Date: Fri Apr 20 16:56:31 2007 -0700 [PPPoE]: miscellaneous smaller cleanups below is a patch that just removes dead code/initializers without any effect (first access is an assignment) that I stumbled accross while reading the source. Signed-off-by: Florian Zumbiehl Acked-by: Michal Ostrowski Signed-off-by: David S. Miller commit 0c6fcc8a8cfcc737d05b6be8b2c3e931ef99cfc2 Author: Stephen Hemminger Date: Fri Apr 20 16:40:01 2007 -0700 [NET] skbuff: skb_store_bits const is backwards Getting warnings becuase skb_store_bits has skb as constant, but the function overwrites it. Looks like const was on the wrong side. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3e6cf558b0098a15d8c360c4eaad3e4d719a555a Author: Stephen Hemminger Date: Fri Apr 20 16:39:17 2007 -0700 [BRIDGE]: Fix warning in net-2.6.22 The following is leftover from earlier change in net-2.6.22. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 75606dc69adcfff433bca0ff747538d8495da0ab Author: Ralf Baechle Date: Fri Apr 20 16:06:45 2007 -0700 [AX25/NETROM/ROSE]: Convert to use modern wait queue API Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 80feaacb8a6400a9540a961b6743c69a5896b937 Author: Peter P. Waskiewicz Jr Date: Fri Apr 20 16:05:39 2007 -0700 [AF_PACKET]: Add option to return orig_dev to userspace. Add a packet socket option to allow the orig_dev index to be returned to userspace when passing traffic through a decapsulated device, such as the bonding driver. This is very useful for layer 2 traffic being able to report which physical device actually received the traffic, instead of having the encapsulating device hide that information. The new option is called PACKET_ORIGDEV. Signed-off-by: Peter P. Waskiewicz Jr. Signed-off-by: David S. Miller commit 1370b5a59b941ac3873b5e8614d496e9f481d670 Author: YOSHIFUJI Hideaki Date: Fri Apr 20 15:57:45 2007 -0700 [IPV6] SNMP: Export statistics via netlink without CONFIG_PROC_FS. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 334901700f9f58993ebd7f6136d3f9062460d34d Author: YOSHIFUJI Hideaki Date: Fri Apr 20 15:57:15 2007 -0700 [IPV4] SNMP: Move some statistic bits to net/ipv4/proc.c. This also fixes memory leak in error path. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 49ed67a9eee3c756263feed4474e4fcf5c8eaed2 Author: YOSHIFUJI Hideaki Date: Fri Apr 20 15:56:48 2007 -0700 [IPV6] SNMP: Move some statistic bits to net/ipv6/proc.c. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bf99f1bde3b3009af74874f3465f6861431fbb66 Author: YOSHIFUJI Hideaki Date: Fri Apr 20 15:56:20 2007 -0700 [IPV6] SNMP: Netlink interface. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 628a5c561890a9a9a74dea017873530584aab06e Author: John Heffner Date: Fri Apr 20 15:53:27 2007 -0700 [INET]: Add IP(V6)_PMTUDISC_RPOBE Add IP(V6)_PMTUDISC_PROBE value for IP(V6)_MTU_DISCOVER. This option forces us not to fragment, but does not make use of the kernel path MTU discovery. That is, it allows for user-mode MTU probing (or, packetization-layer path MTU discovery). This is particularly useful for diagnostic utilities, like traceroute/tracepath. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit b881ef7603230550aa0150b22af94089f07ab00d Author: John Heffner Date: Fri Apr 20 15:52:39 2007 -0700 [IPV6]: MTU discovery check in ip6_fragment() Adds a check in ip6_fragment() mirroring ip_fragment() for packets that we can't fragment, and sends an ICMP Packet Too Big message in response. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit fd44de7cc1d430caef91ad9aecec9ff000fe86f8 Author: Patrick McHardy Date: Mon Apr 16 17:07:08 2007 -0700 [NET_SCHED]: ingress: switch back to using ingress_lock Switch ingress queueing back to use ingress_lock. qdisc_lock_tree now locks both the ingress and egress qdiscs on the device. All changes to data that might be used on both ingress and egress needs to be protected by using qdisc_lock_tree instead of manually taking dev->queue_lock. Additionally the qdisc stats_lock needs to be initialized to ingress_lock for ingress qdiscs. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0463d4ae25771aaf3379bb6b2392f6edf23c2828 Author: Patrick McHardy Date: Mon Apr 16 17:02:10 2007 -0700 [NET_SCHED]: Eliminate qdisc_tree_lock Since we're now holding the rtnl during the entire dump operation, we can remove qdisc_tree_lock, whose only purpose is to protect dump callbacks from concurrent changes to the qdisc tree. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ffa4d7216e848fbfdcb8e6f0bb66abeaa1888964 Author: Patrick McHardy Date: Wed Apr 25 14:01:17 2007 -0700 [NETLINK]: don't reinitialize callback mutex Don't reinitialize the callback mutex the netlink_kernel_create caller handed in, it is supposed to already be initialized and could already be held by someone. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6313c1e0992feaee56bc09b85042b3186041fa3c Author: Patrick McHardy Date: Mon Apr 16 17:00:53 2007 -0700 [RTNETLINK]: Remove unnecessary locking in dump callbacks Since we're now holding the rtnl during the entire dump operation, we can remove additional locking for rtnl protected data. This patch does that for all simple cases (dev_base_lock for dev_base walking, RCU protection for FIB rule dumping). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1c2d670f3660e9103fdcdca702f6dbf8ea7d6afb Author: Patrick McHardy Date: Mon Apr 16 16:59:10 2007 -0700 [RTNETLINK]: Hold rtnl_mutex during netlink dump callbacks Hold rtnl_mutex during the entire netlink dump operation. This allows to simplify locking in the dump callbacks, since they can now rely on that no concurrent changes happen. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit af65bdfce98d7965fbe93a48b8128444a2eea024 Author: Patrick McHardy Date: Fri Apr 20 14:14:21 2007 -0700 [NETLINK]: Switch cb_lock spinlock to mutex and allow to override it Switch cb_lock to mutex and allow netlink kernel users to override it with a subsystem specific mutex for consistent locking in dump callbacks. All netlink_dump_start users have been audited not to rely on any side-effects of the previously used spinlock. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b076deb8498e26c9aa2f44046fe5e9936ae2fb5a Author: Patrick McHardy Date: Thu Apr 12 22:17:05 2007 -0700 [NETFILTER]: ipt_ULOG: add compat conversion functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3a2c3ca8e7d908824701db978b936d115aea506 Author: Patrick McHardy Date: Thu Apr 12 22:16:38 2007 -0700 [NETFILTER]: nfnetlink_log: remove fallback to group 0 Don't fallback to group 0 if no instance can be found for the given group. This potentially confuses the listener and is not what the user configured. Also remove the ring buffer spamming that happens when rules are set up before the logging daemon is started. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3b5018d6766186474366f26cc87fba81407b9089 Author: Patrick McHardy Date: Thu Apr 12 22:16:18 2007 -0700 [NETFILTER]: {eb,ip6,ip}t_LOG: remove remains of LOG target overloading All LOG targets always use their internal logging function nowadays, so remove the incorrect error message and handle real errors (!= -EEXIST) by failing to load. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fe6092ea0019cbba5263a915c9ce9f2bf383209e Author: Patrick McHardy Date: Thu Apr 12 22:15:50 2007 -0700 [NETFILTER]: nf_nat: use HW checksumming when possible When mangling packets forwarded to a HW checksumming capable device, offload recalculation of the checksum instead of doing it in software. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c15bf6e699f4c366f2d1e19ac5d7add21c6b5a19 Author: Bart De Schuymer Date: Thu Apr 12 22:15:06 2007 -0700 [NETFILTER]: ebt_arp: add gratuitous arp filtering The attached patch adds gratuitous arp filtering, more precisely: it allows checking that the IPv4 source address matches the IPv4 destination address inside the ARP header. It also adds a check for the hardware address type when matching MAC addresses (nothing critical, just for better consistency). Signed-off-by: Bart De Schuymer Acked-by: Carl-Daniel Hailfinger Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 516299d2f5b6f9703b9b388faf91898dc636a678 Author: Michael Milner Date: Thu Apr 12 22:14:23 2007 -0700 [NETFILTER]: bridge-nf: filter bridged IPv4/IPv6 encapsulated in pppoe traffic The attached patch by Michael Milner adds support for using iptables and ip6tables on bridged traffic encapsulated in ppoe frames, similar to what's already supported for vlan. Signed-off-by: Michael Milner Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 91d73c15cb165195bc8c3d6a35e30df454b1485b Author: Gerrit Renker Date: Fri Apr 20 13:57:21 2007 -0700 [DCCP]: Complete documentation of dccp_sock This fills in missing documentation for dccp_sock fields. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f73f7097c986aab159491dcded7fc918e76e9ec3 Author: Gerrit Renker Date: Fri Apr 20 13:56:47 2007 -0700 [DCCP]: Debug statements for Elapsed Time option This prints the value of the parsed Elapsed Time when received via a Timestamp Echo option [RFC 4342, 13.3]. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b2449fdc30ccac550344df5e60d38bb8427b109c Author: Gerrit Renker Date: Fri Apr 20 13:02:55 2007 -0700 [DCCP]: Fix bug in the calculation of very low sending rates This fixes an error in the calculation of t_ipi when X converges towards very low sending rates (between 1 and 64 bytes per second). Although this case may not sound likely, it can be reproduced by connecting, hitting enter (1 byte sent) and waiting for some time, during which the nofeedback timer halves the sending rate until finally it reaches the region 1..64 bytes/sec. Computing X is handled correctly (tested separately); but by dividing X _before_ entering the calculation of t_ipi, X becomes zero as a result. This in turn triggers a BUG condition caught in scaled_div(). Fixed by replacing with equivalent statement and explicit typecast for good measure. Calculation verified and effect of patch tested - reduced never below 1 byte per 64 seconds afterwards, i.e. not allowing divide-by-zero. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cb8c181f288a1157bc717cc7a02412d4d1dc19bc Author: David S. Miller Date: Tue Apr 10 22:10:39 2007 -0700 [S390]: Fix build on 31-bit. Allow s390 to properly override the generic __div64_32() implementation by: 1) Using obj-y for div64.o in s390's makefile instead of lib-y 2) Adding the weak attribute to the generic implementation. Signed-off-by: David S. Miller commit efd1e8d569b3d35a3a636683c2a9ebffec9c1fcf Author: Patrick McHardy Date: Tue Apr 10 18:30:09 2007 -0700 [SK_BUFF]: Fix missing offset adjustment in skb_copy_expand skb_copy_expand changes the headroom, so it needs to adjust the header offsets by the difference between the old and the new value. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 33036807b32d5ed1f4fdfe2d5e6bab2bb260b9f7 Author: Eric Dumazet Date: Tue Apr 10 13:25:40 2007 -0700 [NET]: loopback driver can use loopback_dev integrated net_device_stats Rusty added a new 'stats' field to struct net_device. loopback driver can use it instead of declaring another struct net_device_stats This saves some memory. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 87a596e0b8bc344bd6bfebe83b56d11fb79ee23a Author: Akinobu Mita Date: Sat Apr 7 18:57:07 2007 +0900 bridge: check kmem_cache_create() error This patch checks kmem_cache_create() error and aborts loading module on failure. Signed-off-by: Akinobu Mita Signed-off-by: Stephen Hemminger commit ffe1d49cc300f3dff990093aa952a2fbb371c1b6 Author: Stephen Hemminger Date: Mon Apr 9 11:49:58 2007 -0700 bridge: allow changing hardware address to any valid address For case of bridging pseudo devices, the get created/destroyed (Xen) need to allow setting address to any valid value. Signed-off-by: Stephen Hemminger commit b86c45035c439cfa6ef5b2e4bf080b24bd8765f1 Author: Stephen Hemminger Date: Thu Mar 22 14:08:46 2007 -0700 bridge: change when netlink events go to STP Need to tell STP daemon about more events, like any time a device is added even when it is down. Signed-off-by: Stephen Hemminger commit 9cde070874b822d4677f4f01fe146991785813b1 Author: Stephen Hemminger Date: Wed Mar 21 14:22:44 2007 -0700 bridge: add support for user mode STP This patchset based on work by Aji_Srinivas@emc.com provides allows spanning tree to be controled from userspace. Like hotplug, it uses call_usermodehelper when spanning tree is enabled so there is no visible API change. If call to start usermode STP fails it falls back to existing kernel STP. Signed-off-by: Stephen Hemminger commit 9cf637473c8535b5abe27fee79254c2d552e042a Author: Stephen Hemminger Date: Mon Apr 9 12:57:54 2007 -0700 bridge: add sysfs hook to flush forwarding table The RSTP daemon needs to be able to flush all dynamic forwarding entries in the case of topology change. This is a temporary interface. It will change to a netlink interface before RSTP daemon is officially released. Signed-off-by: Stephen Hemminger commit 3f890923182aeebc572f3818dd51c9014827e0ec Author: Stephen Hemminger Date: Wed Mar 21 13:42:33 2007 -0700 bridge: simpler hash with salt Instead of hashing the whole Ethernet address, it should be faster to just use the last 4 bytes. Add a random salt value to the hash to make it more difficult to construct worst case DoS hash chains. Signed-off-by: Stephen Hemminger commit 467aea0ddfd1f0f1158c57cbef0e8941dd63374c Author: Stephen Hemminger Date: Wed Mar 21 13:42:06 2007 -0700 bridge: don't route packets while learning While in the STP learning state, don't route packets; wait until forwarding delay has expired. The purpose of the forwarding delay is to detect loops in the network, and if a brouter started up and started forwarding, it could cause a flood. Signed-off-by: Stephen Hemminger commit 6229e362dd49b9e8387126bd4483ab0574d23e9c Author: Stephen Hemminger Date: Wed Mar 21 13:38:47 2007 -0700 bridge: eliminate call by reference Change the bridging hook to be simple function with return value rather than modifying the skb argument. This could generate better code and is cleaner. Signed-off-by: Stephen Hemminger commit 604763722c655c7e3f31ecf6f7b4dafcd26a7a15 Author: Herbert Xu Date: Mon Apr 9 11:59:39 2007 -0700 [NET]: Treat CHECKSUM_PARTIAL as CHECKSUM_UNNECESSARY When a transmitted packet is looped back directly, CHECKSUM_PARTIAL maps to the semantics of CHECKSUM_UNNECESSARY. Therefore we should treat it as such in the stack. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 628592ccdbbb5bb751217cf02e2e7abb500d7ffe Author: Herbert Xu Date: Mon Apr 23 17:06:40 2007 -0700 [NETDRV]: Perform missing csum_offset conversions When csum_offset was introduced we did a conversion from csum to csum_offset where applicable. A couple of drivers were missed in this process. It was harmless to begin with since the two fields coincided. Now that we've made them different with the addition of csum_start, the missed drivers must be converted or they can't send packets out at all that require checksum offload. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 663ead3bb8d5b561e70fc3bb3861c9220b5a77eb Author: Herbert Xu Date: Mon Apr 9 11:59:07 2007 -0700 [NET]: Use csum_start offset instead of skb_transport_header The skb transport pointer is currently used to specify the start of the checksum region for transmit checksum offload. Unfortunately, the same pointer is also used during receive side processing. This creates a problem when we want to retransmit a received packet with partial checksums since the skb transport pointer would be overwritten. This patch solves this problem by creating a new 16-bit csum_start offset value to replace the skb transport header for the purpose of checksums. This offset is calculated from skb->head so that it does not have to change when skb->data changes. No extra space is required since csum_offset itself fits within a 16-bit word so we can use the other 16 bits for csum_start. For backwards compatibility, just before we push a packet with partial checksums off into the device driver, we set the skb transport header to what it would have been under the old scheme. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ac758e3c55c529714354fc268892ca4d23ca1e99 Author: Patrick McHardy Date: Mon Apr 9 11:47:58 2007 -0700 [XFRM]: beet: fix worst case header_len calculation esp_init_state doesn't account for the beet pseudo header in the header_len calculation, which may result in undersized skbs hitting xfrm4_beet_output, causing unnecessary reallocations in ip_finish_output2. The skbs should still always have enough room to avoid causing skb_under_panic in skb_push since we have at least 16 bytes available from LL_RESERVED_SPACE in xfrm_state_check_space. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c5c2523893747f88a83376abad310c8ad13f7197 Author: Patrick McHardy Date: Mon Apr 9 11:47:18 2007 -0700 [XFRM]: Optimize MTU calculation Replace the probing based MTU estimation, which usually takes 2-3 iterations to find a fitting value and may underestimate the MTU, by an exact calculation. Also fix underestimation of the XFRM trailer_len, which causes unnecessary reallocations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 557922584d9c5b6b990bcfb2fec3134f0e73a05d Author: Patrick McHardy Date: Mon Apr 9 11:46:17 2007 -0700 [XFRM]: esp: fix skb_tail_pointer conversion bug Fix incorrect switch of "trailer" skb by "skb" during skb_tail_pointer conversion: - *(u8*)(trailer->tail - 1) = top_iph->protocol; + *(skb_tail_pointer(skb) - 1) = top_iph->protocol; - *(u8 *)(trailer->tail - 1) = *skb_network_header(skb); + *(skb_tail_pointer(skb) - 1) = *skb_network_header(skb); Signed-off-by: Patrick McHardy Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 56eb88828b78f6f3b11a2996350092a40745301f Author: Patrick McHardy Date: Mon Apr 9 11:45:04 2007 -0700 [SK_BUFF]: Fix missing offset adjustment in pskb_expand_head Since we're increasing the headroom, the header offsets need to be increased by the same amount as well. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 29f6af7712c40045e7886d0fa356d97a6f9aba49 Author: YOSHIFUJI Hideaki Date: Fri Apr 6 11:45:39 2007 -0700 [IPV6] FIB6RULE: Find source address during looking up route. When looking up route for destination with rules with source address restrictions, we may need to find a source address for the traffic if not given. Based on patch from Noriaki TAKAMIYA . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit ea2f10a3c81724701fe6a754789eafd50b33909f Author: Patrick McHardy Date: Thu Apr 5 16:04:04 2007 -0700 [XFRM]: beet: minor cleanups Remove unnecessary initialization/variable. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 038890fed8d1fa95bbbdeb517f5710eb75fa9e2e Author: Thomas Graf Date: Thu Apr 5 14:35:52 2007 -0700 [RTNL]: Improve error codes for unsupported operations The most common trigger of these errors is that the config option hasn't been enable wich would make the functionality available. Therefore returning EOPNOTSUPP gives a better idea on what is going wrong. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 716ea3a7aae3a2bfc44cb97b5419c1c9868c7bc9 Author: David Howells Date: Mon Apr 2 20:19:53 2007 -0700 [NET]: Move generic skbuff stuff from XFRM code to generic code Move generic skbuff stuff from XFRM code to generic code so that AF_RXRPC can use it too. The kdoc comments I've attached to the functions needs to be checked by whoever wrote them as I had to make some guesses about the workings of these functions. Signed-off-By: David Howells Signed-off-by: David S. Miller commit 926554c4b74e53d5da4cefdc3bbd7e92427fb1a9 Author: Arnaldo Carvalho de Melo Date: Sat Mar 31 12:05:49 2007 -0300 [CREDITS]: Update Arnaldo entry Signed-off-by: Arnaldo Carvalho de Melo commit 1a4e2d093fd5f3eaf8cffc04a1b803f8b0ddef6d Author: Arnaldo Carvalho de Melo Date: Sat Mar 31 11:55:45 2007 -0300 [SK_BUFF]: Some more conversions to skb_copy_from_linear_data Signed-off-by: Arnaldo Carvalho de Melo commit 27d7ff46a3498d3debc6ba68fb8014c702b81170 Author: Arnaldo Carvalho de Melo Date: Sat Mar 31 11:55:19 2007 -0300 [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} To clearly state the intent of copying to linear sk_buffs, _offset being a overly long variant but interesting for the sake of saving some bytes. Signed-off-by: Arnaldo Carvalho de Melo commit 3dbad80ac7632f243b824d469301abb97ec634a1 Author: David S. Miller Date: Thu Mar 29 19:16:03 2007 -0700 [NET]: Fix warnings in 3c523.c and ni52.c We have to put back the cast to "char *" because these pointers are volatile. Reported by Andrew Morton. Signed-off-by: David S. Miller commit c45d286e72dd72c0229dc9e2849743ba427fee84 Author: Rusty Russell Date: Wed Mar 28 14:29:08 2007 -0700 [NET]: Inline net_device_stats Network drivers which keep stats allocate their own stats structure then write a get_stats() function to return them. It would be nice if this were done by default. 1) Add a new "stats" field to "struct net_device". 2) Add a new feature field to say "this driver uses the internal one" 3) Have a default "get_stats" which returns NULL if that feature not set. 4) Change callers to check result of get_stats call for NULL, not if ->get_stats is set. This should not break backwards compatibility with older drivers, yet allow modern drivers to shed some boilerplate code. Lightly tested: works for a modified lguest network driver. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit f85958151900f9d30fa5ff941b0ce71eaa45a7de Author: Eric Dumazet Date: Wed Mar 28 14:22:33 2007 -0700 [NET]: random functions can use nsec resolution instead of usec In order to get more randomness for secure_tcpv6_sequence_number(), secure_tcp_sequence_number(), secure_dccp_sequence_number() functions, we can use the high resolution time services, providing nanosec resolution. I've also done two kmalloc()/kzalloc() conversions. Signed-off-by: Eric Dumazet Acked-by: James Morris Signed-off-by: David S. Miller commit 4b19ca44cbafabfe0b7b98e2e24b21a96198f509 Author: Thomas Graf Date: Wed Mar 28 14:18:52 2007 -0700 [NET] fib_rules: delay route cache flush by ip_rt_min_delay Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit d626f62b11e00c16e81e4308ab93d3f13551812a Author: Arnaldo Carvalho de Melo Date: Tue Mar 27 18:55:52 2007 -0300 [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} To clearly state the intent of copying from linear sk_buffs, _offset being a overly long variant but interesting for the sake of saving some bytes. Signed-off-by: Arnaldo Carvalho de Melo commit 2a123b86e2b242a4a6db990d2851d45e192f88e5 Author: Arnaldo Carvalho de Melo Date: Tue Mar 27 18:38:07 2007 -0300 [BLUETOOTH]: Introduce skb->data accessor methods for hci_{acl,event,sco}_hdr For consistency with other skb data accessors, reducing the number of direct accesses to skb->data. Signed-off-by: Arnaldo Carvalho de Melo commit 03d4f879b9ddf7d5c1f788792247e62450342eed Author: Eric Dumazet Date: Tue Mar 27 14:18:34 2007 -0700 [IPV4]: align inet_protos[] on SMP As IPPROTO_TCP is 6, it makes sense to make sure inet_protos[] array is properly cache line aligned to avoid false sharing on SMP. c0680540 b peer_total c0680544 b inet_peer_unused_head c0680560 B inet_protos On i386 this example, we can see that inet_protos[IPPROTO_TCP] shares a potentially hot (and modified) cache line. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4103f8cd5c1f260d674a7b426ed221812de54d47 Author: Eric Dumazet Date: Tue Mar 27 13:58:31 2007 -0700 [TCP]: tcp_memory_pressure and tcp_socket are__read_mostly candidates tcp_memory_pressure and tcp_socket currently share a cache line with tcp_memory_allocated, tcp_sockets_allocated. (Very hot cache line) It makes sense to declare these variables as __read_mostly, to avoid false sharing on SMP. ffffffff8081d9c0 B tcp_orphan_count ffffffff8081d9c4 B tcp_memory_allocated ffffffff8081d9c8 B tcp_sockets_allocated ffffffff8081d9cc B tcp_memory_pressure ffffffff8081d9d0 b tcp_md5sig_users ffffffff8081d9d8 b tcp_md5sig_pool ffffffff8081d9e0 b warntime.31570 ffffffff8081d9e8 b tcp_socket Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 73417f617a93cf30342c3ea41abc38927bd467aa Author: Thomas Graf Date: Tue Mar 27 13:56:52 2007 -0700 [NET] fib_rules: Flush route cache after rule modifications The results of FIB rules lookups are cached in the routing cache except for IPv6 as no such cache exists. So far, it was the responsibility of the user to flush the cache after modifying any rules. This lead to many false bug reports due to misunderstanding of this concept. This patch automatically flushes the route cache after inserting or deleting a rule. Thanks to Muli Ben-Yehuda for catching a bug in the previous patch. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit be776281aee54626a474ba06f91926b98bdd180d Author: Eric Dumazet Date: Tue Mar 27 13:53:04 2007 -0700 [NET]: inet_ehash_secret should be __read_mostly and set only once There is a very tiny probability that build_ehash_secret() is called at the same time by different CPUS. Also, using __read_mostly is a must for inet_ehash_secret Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 35fc92a9deee0da6e35fdc3150bb134e58f2fd63 Author: Herbert Xu Date: Mon Mar 26 23:22:20 2007 -0700 [NET]: Allow forwarding of ip_summed except CHECKSUM_COMPLETE Right now Xen has a horrible hack that lets it forward packets with partial checksums. One of the reasons that CHECKSUM_PARTIAL and CHECKSUM_COMPLETE were added is so that we can get rid of this hack (where it creates two extra bits in the skbuff to essentially mirror ip_summed without being destroyed by the forwarding code). I had forgotten that I've already gone through all the deivce drivers last time around to make sure that they're looking at ip_summed == CHECKSUM_PARTIAL rather than ip_summed != 0 on transmit. In any case, I've now done that again so it should definitely be safe. Unfortunately nobody has yet added any code to update CHECKSUM_COMPLETE values on forward so we I'm setting that to CHECKSUM_NONE. This should be safe to remove for bridging but I'd like to check that code path first. So here is the patch that lets us get rid of the hack by preserving ip_summed (mostly) on forwarded packets. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2d771cd86d4c3af26f34a7bcdc1b87696824cad9 Author: Janusz Krzysztofik Date: Mon Mar 26 18:03:44 2007 -0700 [IPV4] LVS: Allow to send ICMP unreachable responses when real-servers are removed this is a small patch by Janusz Krzysztofik to ip_route_output_slow() that allows VIP-less LVS linux director to generate packets originating >From VIP if sysctl_ip_nonlocal_bind is set. In a nutshell, the intention is for an LVS linux director to be able to send ICMP unreachable responses to end-users when real-servers are removed. http://archive.linuxvirtualserver.org/html/lvs-users/2007-01/msg00106.html Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit fa0b2d1d2196dd46527a8d028797e2bca5930a92 Author: Thomas Graf Date: Mon Mar 26 17:38:53 2007 -0700 [NET] fib_rules: Add no-operation action The use of nop rules simplifies the usage of goto rules and adds more flexibility as they allow targets to remain while the actual content of the branches can change easly. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 2b44368307cd06c5614d7b53801f516c0654020b Author: Thomas Graf Date: Mon Mar 26 17:37:59 2007 -0700 [NET] fib_rules: Mark rules detached from the device Rules which match against device names in their selector can remain while the device itself disappears, in fact the device doesn't have to present when the rule is added in the first place. The device name is resolved by trying when the rule is added and later by listening to NETDEV_REGISTER/UNREGISTER notifications. This patch adds the flag FIB_RULE_DEV_DETACHED which is set towards userspace when a rule contains a device match which is unresolved at the moment. This eases spotting the reason why certain rules seem not to function properly. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 0947c9fe56d9cf7ad0bc3a03ccd30446cde698e4 Author: Thomas Graf Date: Mon Mar 26 17:14:15 2007 -0700 [NET] fib_rules: goto rule action This patch adds a new rule action FR_ACT_GOTO which allows to skip a set of rules by jumping to another rule. The rule to jump to is specified via the FRA_GOTO attribute which carries a rule preference. Referring to a rule which doesn't exists is explicitely allowed. Such goto rules are marked with the flag FIB_RULE_UNRESOLVED and will act like a rule with a non-matching selector. The rule will become functional as soon as its target is present. The goto action enables performance optimizations by reducing the average number of rules that have to be passed per lookup. Example: 0: from all lookup local 40: not from all to 192.168.23.128 goto 32766 41: from all fwmark 0xa blackhole 42: from all fwmark 0xff blackhole 32766: from all lookup main Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 2f7826c02447480c7c1b5500b34fc783f1ed8145 Author: David S. Miller Date: Mon Mar 26 02:00:58 2007 -0700 [WAN] cosa.c: Build fix. Caused by skb_reset_mac_header() changes, missing semicolon. Signed-off-by: David S. Miller commit 85795d64eddd4546375f5ee37bedd88cb5bc4ece Author: Stephen Hemminger Date: Sat Mar 24 21:35:33 2007 -0700 [TCP] tcp_probe: improvements for net-2.6.22 Change tcp_probe to use ktime (needed to add one export). Add option to only get events when cwnd changes - from Doug Leith Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e1c3e7ab6de9711d2e0e9daf369c6638582eb7e7 Author: Stephen Hemminger Date: Sat Mar 24 21:34:38 2007 -0700 [TCP]: cubic update for net-2.6.22 The following update received from Injong updates TCP cubic to the latest version. I am running more complete tests and will have results after 4/1. According to Injong: the new version improves on its scalability, fairness and stability. So in all properties, we confirmed it shows better performance. NCSU results (for 2.6.18 and 2.6.20) available: http://netsrv.csc.ncsu.edu/wiki/index.php/TCP_Testing This version is described in a new Internet draft for CUBIC. http://www.ietf.org/internet-drafts/draft-rhee-tcp-cubic-00.txt Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9af3912ec9e30509b76cb376abb65a4d8af27df3 Author: John Heffner Date: Sun Mar 25 23:32:29 2007 -0700 [NET] Move DF check to ip_forward Do fragmentation check in ip_forward, similar to ipv6 forwarding. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit b3da2cf37c5c6e47698957a25ab43a7223dbb90f Author: David S. Miller Date: Fri Mar 23 11:40:27 2007 -0700 [INET]: Use jhash + random secret for ehash. The days are gone when this was not an issue, there are folks out there with huge bot networks that can be used to attack the established hash tables on remote systems. So just like the routing cache and connection tracking hash, use Jenkins hash with random secret input. Signed-off-by: David S. Miller commit d30045a0bcf144753869175dd9d840f7ceaf4aba Author: Johannes Berg Date: Fri Mar 23 11:37:48 2007 -0700 [NETLINK]: introduce NLA_BINARY type This patch introduces a new NLA_BINARY attribute policy type with the verification of simply checking the maximum length of the payload. It also fixes a small typo in the example. Signed-off-by: Johannes Berg Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 703315712cfccfe0b45ef4aa6994527d8ee95e33 Author: Vlad Yasevich Date: Fri Mar 23 11:34:36 2007 -0700 [SCTP]: Implement SCTP_MAX_BURST socket option. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit a5a35e76753d27e782028843a5186f176b50dd16 Author: Vlad Yasevich Date: Fri Mar 23 11:34:08 2007 -0700 [SCTP]: Implement sac_info field in SCTP_ASSOC_CHANGE notification. As stated in the sctp socket api draft: sac_info: variable If the sac_state is SCTP_COMM_LOST and an ABORT chunk was received for this association, sac_info[] contains the complete ABORT chunk as defined in the SCTP specification RFC2960 [RFC2960] section 3.3.7. We now save received ABORT chunks into the sac_info field and pass that to the user. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit bdf3092af601ccad765974652ab103162fbe14f4 Author: Vlad Yasevich Date: Fri Mar 23 11:33:12 2007 -0700 [SCTP]: Honor flags when setting peer address parameters Parameters only take effect when a corresponding flag bit is set and a value is specified. This means we need to check the flags in addition to checking for non-zero value. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 1ae4114dce35dd1d32ed847f60b599dbbdfd5829 Author: Vlad Yasevich Date: Fri Mar 23 11:32:26 2007 -0700 [SCTP]: Implement SCTP_ADDR_CONFIRMED state for ADDR_CHNAGE event Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit d49d91d79a8dc5e85108a5ae1c8eef23dec135c1 Author: Vlad Yasevich Date: Fri Mar 23 11:32:00 2007 -0700 [SCTP]: Implement SCTP_PARTIAL_DELIVERY_POINT option. This option induces partial delivery to run as soon as the specified amount of data has been accumulated on the association. However, we give preference to fully reassembled messages over PD messages. In any case, window and buffer is freed up. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit b6e1331f3ce25a56edb956054eaf8011654686cb Author: Vlad Yasevich Date: Fri Apr 20 12:23:15 2007 -0700 [SCTP]: Implement SCTP_FRAGMENT_INTERLEAVE socket option This option was introduced in draft-ietf-tsvwg-sctpsocket-13. It prevents head-of-line blocking in the case of one-to-many endpoint. Applications enabling this option really must enable SCTP_SNDRCV event so that they would know where the data belongs. Based on an earlier patch by Ivan Skytte Jørgensen. Additionally, this functionality now permits multiple associations on the same endpoint to enter Partial Delivery. Applications should be extra careful, when using this functionality, to track EOR indicators. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit c95e939508e64863a1c5c73a9e1a908784e06820 Author: Patrick McHardy Date: Fri Mar 23 11:30:04 2007 -0700 [NET_SCHED]: qdisc: remove unnecessary memory barriers We're holding dev->queue_lock in qdisc_watchdog_schedule and qdisc_watchdog_cancel, no need for the barriers. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a48b5a61448899040dfbd2e0cd55b06a2bd2466c Author: Patrick McHardy Date: Fri Mar 23 11:29:43 2007 -0700 [NET_SCHED]: Unline tcf_destroy Uninline tcf_destroy and add a helper function to destroy an entire filter chain. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3bebcda28077375470dd60545b71bba2f83335fd Author: Patrick McHardy Date: Fri Mar 23 11:29:25 2007 -0700 [NET_SCHED]: turn PSCHED_GET_TIME into inline function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 03cc45c0a5b9b7f74768feb43b9a2525d203bbdb Author: Patrick McHardy Date: Fri Mar 23 11:29:11 2007 -0700 [NET_SCHED]: turn PSCHED_TDIFF_SAFE into inline function Also rename to psched_tdiff_bounded. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8edc0c31d6b7849b0fb50db86824830769241939 Author: Patrick McHardy Date: Fri Mar 23 11:28:55 2007 -0700 [NET_SCHED]: kill PSCHED_TDIFF Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a084980dcbf56c896e4b6c19aff2b082d5db7006 Author: Patrick McHardy Date: Fri Mar 23 11:28:30 2007 -0700 [NET_SCHED]: kill PSCHED_SET_PASTPERFECT/PSCHED_IS_PASTPERFECT Use direct assignment and comparison instead. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 104e0878984bb467e3f54d61105d8903babb4ec1 Author: Patrick McHardy Date: Fri Mar 23 11:28:07 2007 -0700 [NET_SCHED]: kill PSCHED_TLESS Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c59e25f3186f26e85b13a318dbc4482d1d363e9 Author: Patrick McHardy Date: Fri Mar 23 11:27:45 2007 -0700 [NET_SCHED]: kill PSCHED_TADD/PSCHED_TADD2 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 26e252df1e6e5b68eb790e4a4baf745aa3870038 Author: Patrick McHardy Date: Fri Mar 23 11:27:29 2007 -0700 [NET_SCHED]: kill PSCHED_AUDIT_TDIFF Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 76d643cd3bd2b4a1e27e3eafee8e37be9c681792 Author: Patrick McHardy Date: Fri Mar 23 11:27:04 2007 -0700 [NET_SCHED]: sch_netem: fix off-by-one in send time comparison netem checks PSCHED_TLESS(cb->time_to_send, now) to find out whether it is allowed to send a packet, which is equivalent to cb->time_to_send < now. Use !PSCHED_TLESS(now, cb->time_to_send) instead to properly handle cb->time_to_send == now. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c7bf5f9dc2f78ae8ebbfffc5f17becd0d9e6ba9e Author: Thomas Graf Date: Fri Mar 23 11:17:57 2007 -0700 [NETFILTER] nfnetlink: netlink_run_queue() already checks for NLM_F_REQUEST Patrick has made use of netlink_run_queue() in nfnetlink while my patches have been waiting for net-2.6.22 to open. So this check for NLM_F_REQUEST can go as well. Signed-off-by: Thomas Graf Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit de6e05c49f8b4ed63224c5d38891f531ecc4eabb Author: Yasuyuki Kozakai Date: Fri Mar 23 11:17:27 2007 -0700 [NETFILTER]: nf_conntrack: kill destroy() in struct nf_conntrack for diet The destructor per conntrack is unnecessary, then this replaces it with system wide destructor. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5f79e0f916a3bdeccc910fdf466bca582a9b2cca Author: Yasuyuki Kozakai Date: Fri Mar 23 11:17:07 2007 -0700 [NETFILTER]: nf_conntrack: don't use nfct in skb if conntrack is disabled Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e6f689db51a789807edede411b32eb7c9e457948 Author: Patrick McHardy Date: Fri Mar 23 11:16:30 2007 -0700 [NETFILTER]: Use setup_timer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9afdb00c80b0b9c20435ce690b5287fa2434ef44 Author: Patrick McHardy Date: Fri Mar 23 11:12:50 2007 -0700 [NETFILTER]: nfnetlink_log: remove conditional locking This is gross, have the wrapper function take the lock. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 370e6a878962cad614eb8c7c5a22240e5cd316bb Author: Michal Miroslaw Date: Fri Mar 23 11:12:21 2007 -0700 [NETFILTER]: nfnetlink_log: micro-optimization: inst->skb != NULL in __nfulnl_send() No other function calls __nfulnl_send() with inst->skb == NULL than nfulnl_timer(). Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f76cdcee5ba4a3fb41de93d5f1c17fb6ab4d0820 Author: Michal Miroslaw Date: Fri Mar 23 11:12:03 2007 -0700 [NETFILTER]: nfnetlink_log: iterator functions need iter_state * only get_*() don't need access to seq_file - iter_state is enough for them. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9a36e8c2b337c424ed77f5dea0a67dc8039d351b Author: Michal Miroslaw Date: Fri Mar 23 11:11:48 2007 -0700 [NETFILTER]: nfnetlink_log: micro-optimization: don't modify destroyed instance Simple micro-optimization: Don't change any options if the instance is being destroyed. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f414c16c04b1c998e90370791f9a728e292146ea Author: Michal Miroslaw Date: Fri Mar 23 11:11:31 2007 -0700 [NETFILTER]: nfnetlink_log: micro-optimization for inst==NULL in nfulnl_recv_config() Simple micro-optimization: don't call instance_put() on known NULL pointers. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 55b5a91e1723280570957990a0c5ab8c3ec4090a Author: Michal Miroslaw Date: Fri Mar 23 11:11:05 2007 -0700 [NETFILTER]: nfnetlink_log: kill duplicate code Kill some duplicate code in nfulnl_log_packet(). Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 09972d6f968d67dd82cbd403d5aa42c241a8d0cb Author: Michal Miroslaw Date: Fri Mar 23 11:10:47 2007 -0700 [NETFILTER]: nfnetlink_log: don't count max(a,b) twice We don't need local nlbufsiz (skb size) as nfulnl_alloc_skb() takes the maximum anyway. Signed-off-by: Michal Miroslaw Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1b53d9042c04b8eb875d02e65792e9884efc3784 Author: Patrick McHardy Date: Fri Mar 23 11:10:13 2007 -0700 [NETFILTER]: Remove changelogs and CVS IDs Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bb2f8cc0ecf025d6d3947e0389434650023f432e Author: Stephen Hemminger Date: Fri Mar 23 00:12:09 2007 -0700 [NETEM]: spelling errors Get rid of some of my creative spelling. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c702e8047fe74648f7852a9c1de781b0d5a98402 Author: Thomas Graf Date: Thu Mar 22 23:30:55 2007 -0700 [NETLINK]: Directly return -EINTR from netlink_dump_start() Now that all users of netlink_dump_start() use netlink_run_queue() to process the receive queue, it is possible to return -EINTR from netlink_dump_start() directly, therefore simplying the callers. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit ead592ba246dfcc643b3f0f0c8c03f7bc898a59f Author: Thomas Graf Date: Thu Mar 22 23:30:35 2007 -0700 [IPv4] diag: Use netlink_run_queue() to process the receive queue Makes use of netlink_run_queue() to process the receive queue and converts inet_diag_rcv_msg() to use the type safe netlink interface. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1d00a4eb42bdade33a6ec0961cada93577a66ae6 Author: Thomas Graf Date: Thu Mar 22 23:30:12 2007 -0700 [NETLINK]: Remove error pointer from netlink message handler The error pointer argument in netlink message handlers is used to signal the special case where processing has to be interrupted because a dump was started but no error happened. Instead it is simpler and more clear to return -EINTR and have netlink_run_queue() deal with getting the queue right. nfnetlink passed on this error pointer to its subsystem handlers but only uses it to signal the start of a netlink dump. Therefore it can be removed there as well. This patch also cleans up the error handling in the affected message handlers to be consistent since it had to be touched anyway. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 45e7ae7f716086994e4e747226881f901c67b031 Author: Thomas Graf Date: Thu Mar 22 23:29:10 2007 -0700 [NETLINK]: Ignore control messages directly in netlink_run_queue() Changes netlink_rcv_skb() to skip netlink controll messages and don't pass them on to the message handler. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit d35b685640aeb39eb4f5e98c75e8e001e406f9a3 Author: Thomas Graf Date: Thu Mar 22 23:28:46 2007 -0700 [NETLINK]: Ignore !NLM_F_REQUEST messages directly in netlink_run_queue() netlink_rcv_skb() is changed to skip messages which don't have the NLM_F_REQUEST bit to avoid every netlink family having to perform this check on their own. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 33a0543cd9e090d2c6759e0ed85c3049c6efcc06 Author: Thomas Graf Date: Thu Mar 22 23:27:39 2007 -0700 [NETLINK]: Remove unused groups variable Leftover from dynamic multicast groups allocation work. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 267281058c4cfd6a9a173aa957bffa58239f9656 Author: Thomas Graf Date: Thu Mar 22 23:27:19 2007 -0700 [TCP] westwood: Use type safe netlink interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit e9195d677d6f06730edd5c2a3fe3283564e39c51 Author: Thomas Graf Date: Thu Mar 22 23:27:01 2007 -0700 [TCP] vegas: Use type safe netlink interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 51057f2fecff1c520b083c5ac9229e7aebce9e01 Author: Thomas Graf Date: Thu Mar 22 21:41:06 2007 -0700 [RTNL]: Properly return rntl message handler Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1936502d00ae6c2aa3931c42f6cf54afaba094f2 Author: Stephen Hemminger Date: Thu Mar 22 12:18:35 2007 -0700 [NET_SCHED] qdisc: avoid transmit softirq on watchdog wakeup If possible, avoid having to do a transmit softirq when a qdisc watchdog decides to re-enable. The watchdog routine runs off a timer, so it is already in the same effective context as the softirq. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 11274e5a43266d531140530adebead6903380caf Author: Stephen Hemminger Date: Thu Mar 22 12:17:42 2007 -0700 [NETEM]: avoid excessive requeues The netem code would call getnstimeofday() and dequeue/requeue after every packet, even if it was waiting. Avoid this overhead by using the throttled flag. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 075aa573b74a732aeff487ab77d3fbd627c10856 Author: Stephen Hemminger Date: Thu Mar 22 12:17:05 2007 -0700 [NETEM]: Optimize tfifo In most cases, the next packet will be sent after the last one. So optimize that case. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b407621c35ed5f9a0734e57472e9539117963768 Author: Stephen Hemminger Date: Thu Mar 22 12:16:21 2007 -0700 [NETEM]: use better types for time values The random number generator always generates 32 bit values. The time values are limited by psched_tdiff_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a362e0a7890c735a3ef63aab12d71ecfc6e6f4a5 Author: Stephen Hemminger Date: Thu Mar 22 12:15:45 2007 -0700 [NETEM]: report reorder percent correctly. If you setup netem to just delay packets; "tc qdisc ls" will report the reordering as 100%. Well it's a lie, reorder isn't used unless gap is set, so just set value to 0 so the output of utility is correct. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7e58886b45bc4a309aeaa8178ef89ff767daaf7f Author: Stephen Hemminger Date: Thu Mar 22 12:10:58 2007 -0700 [TCP]: cubic optimization Use willy's work in optimizing cube root by having table for small values. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 22b9a0a3a49ab1a856e0853b3f3dd2abd156bd7c Author: Stephen Hemminger Date: Thu Mar 22 12:10:18 2007 -0700 [LIB]: div64_64 optimization Minor optimization of div64_64. do_div() already does optimization for the case of 32 by 32 divide, so no need to do it here. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c454673da7c1d6533f40ec2f788023df9af56ebf Author: Thomas Graf Date: Sun Mar 25 23:24:24 2007 -0700 [NET] rules: Unified rules dumping Implements a unified, protocol independant rules dumping function which is capable of both, dumping a specific protocol family or all of them. This speeds up dumping as less lookups are required. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 687ad8cc640fd1f1619cc44a9ab274dabd48c758 Author: Thomas Graf Date: Thu Mar 22 11:59:42 2007 -0700 [RTNL]: Use rtnl registration interface for dump-all aliases Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 32fe21c0c0a3091552fea8f2f7e4905f547a3433 Author: Thomas Graf Date: Thu Mar 22 11:59:03 2007 -0700 [BRIDGE]: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit c127ea2c45d1b13a672fde254679721bb282e90a Author: Thomas Graf Date: Thu Mar 22 11:58:32 2007 -0700 [IPv6]: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit fa34ddd739cecf3999ec0b7562618e8321829d41 Author: Thomas Graf Date: Thu Mar 22 11:57:46 2007 -0700 [DECNet]: Use rtnl registration interface Signed-off-by: Thomas Graf Acked-by: Steven Whitehouse Signed-off-by: David S. Miller commit 708914cc5e1657eb1a1f9eefc6333dfd2df8c73a Author: Thomas Graf Date: Thu Mar 22 11:56:59 2007 -0700 [PKT_SCHED] act: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 82623c0d73bd111cad26e501e509966b2455b0e0 Author: Thomas Graf Date: Thu Mar 22 11:56:22 2007 -0700 [PKT_SCHED] cls: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit be577ddc2b4aca0849f701222f5bc13cf1b79c9a Author: Thomas Graf Date: Thu Mar 22 11:55:50 2007 -0700 [PKT_SCHED] qdisc: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 63f3444fb9a54c024d55f1205f8b94e7d2786595 Author: Thomas Graf Date: Thu Mar 22 11:55:17 2007 -0700 [IPv4]: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 9d9e6a5819230b5a5cc036f213135cb123ab1e50 Author: Thomas Graf Date: Sun Mar 25 23:20:05 2007 -0700 [NET] rules: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit c8822a4e00442e65d42d50db8e529d75c2025630 Author: Thomas Graf Date: Thu Mar 22 11:50:06 2007 -0700 [NEIGH]: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 340d17fc9d577c93678850e46963e9b19b92db7e Author: Thomas Graf Date: Thu Mar 22 11:49:22 2007 -0700 [NET] link: Use rtnl registration interface Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit e284986385b6420a5f30f2dcd743512bbe1a3202 Author: Thomas Graf Date: Thu Mar 22 11:48:11 2007 -0700 [RTNL]: Message handler registration interface This patch adds a new interface to register rtnetlink message handlers replacing the exported rtnl_links[] array which required many message handlers to be exported unnecessarly. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 30833ffead66e1f0052150a51db0b45151189ac1 Author: Gerrit Renker Date: Tue Mar 20 15:31:56 2007 -0300 [CCID3]: Use initial RTT sample from SYN exchange The patch follows the following recommendation made in an erratum to RFC 4342: "Senders MAY additionally make use of other available RTT measurements, including those from the initial Request-Response packet exchange." It implements larger initial windows with regard to this inital RTT measurement, using the mechanism suggested in draft-ietf-dccp-rfc3448bis, section 4.2. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 89560b53b92a07c529e13a462aa7fd87a844f1f5 Author: Gerrit Renker Date: Tue Mar 20 15:27:17 2007 -0300 [DCCP]: Sample RTT from SYN exchange Function: commit 7dfee1a9c07f80a82aa5fbad340146f2b5c794b4 Author: Gerrit Renker Date: Tue Mar 20 15:24:37 2007 -0300 [CCID3]: Use function for RTT sampling This replaces the existing occurrences of RTT sampling with the use of the new function dccp_sample_rtt. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4712a792ee661921374c163eb6a4d06e33fd305f Author: Gerrit Renker Date: Tue Mar 20 15:23:18 2007 -0300 [DCCP]: Provide function for RTT sampling A recurring problem, in particular in the CCID code, is that RTT samples from packets with timestamp echo and elapsed time options need to be taken. This service is provided via a new function dccp_sample_rtt in this patch. Furthermore, to protect against `insane' RTT samples, the sampled value is bounded between 100 microseconds and 4 seconds - for which u32 is sufficient. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0c150efb280986db7958cf2a559b91d826241e59 Author: Gerrit Renker Date: Tue Mar 20 15:19:07 2007 -0300 [CCID3]: Handle Idle and Application-Limited periods This updates the code with regard to handling idle and application-limited periods as specified in [RFC 4342, 5.1]. Background: commit a21f9f96cd035b0d9aec32d80ea0152672fbed42 Author: Gerrit Renker Date: Tue Mar 20 15:12:10 2007 -0300 [CCID3]: Wrap computation of RFC3390-initial rate into separate function The CCID 3 and TFRC specs (RFC 4342, RFC 3448, draft-3448bis) make frequent reference to the computation of the RFC-3390 initial sending rate: 1. Initial sending rate when RTT is known (RFC 4342, p. 6) 2. Response to Idle/Application-Limited periods (RFC 4342, 5.1) This warrants putting the code into its own function, for later code reuse. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 1761f7d7fea32c2290710f5c0afa0c3d93220593 Author: Gerrit Renker Date: Tue Mar 20 15:04:30 2007 -0300 [CCID3]: Remove build warnings for 64bit This clears the following sparc64 build warnings: 1) warning: format "%ld" expects type "long int", but argument 3 has type "suseconds_t" 2) warning: format "%llu" expects type "long long unsigned int", but argument 3 has type "__u64" Fixed by using typecast to unsigned. This is argued to be safe, since the quantities, after de-scaling (factor 2^6) fit all in u32. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit fddc2feb94c1f734dc27d44d166e97ab2e005ec1 Author: Gerrit Renker Date: Tue Mar 20 15:02:10 2007 -0300 [CCID3]: More to see in dccp_probe This adds a few more fields of interest to /proc/net/dccpprobe, the following output ensues: 1 2 3 4 5 6 7 8 9 10 11 sec.usec src:sport dst:dport size s rtt p X_calc X_recv X t_ipi Also made the formatting consistent. Scripts that go with this can be downloaded from http://139.133.210.30/users/gerrit/dccp/dccp_probe/ Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f2645101350c6db66f0a1e72648909cc411f2b38 Author: Gerrit Renker Date: Tue Mar 20 15:01:14 2007 -0300 [CCID3]: Add documentation for socket options This updates the documentation on CCID3-specific options. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6626e3628fe42837f733d103e194c6b4473d8669 Author: Gerrit Renker Date: Tue Mar 20 15:00:28 2007 -0300 [DCCP]: More debug information for dccp_wait_for_ccid This adds more detail in the wait_for_ccid packet scheduling loop. In particular, it informs about (i) when delay is used and (ii) why a packet is discarded. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ac12b0c49571fe4c3a2f4957ed494da316d558be Author: Gerrit Renker Date: Tue Mar 20 14:59:23 2007 -0300 [DCCP]: Always use debug-toggle parameters Currently debugging output (when configured) is automatically enabled when DCCP modules are compiled into the kernel rather than built as loadable modules. This is not necessary, since the module parameters in this case become kernel commandline parameters, e.g. DCCP or CCID3 debug output can be enabled for a static build by appending the following at the boot prompt: dccp.dccp_debug=1 dccp_ccid3.ccid3_debug=1 This patch therefore does away with the more complicated way of always enabling debug output for static builds Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 1266adee12d25385a25e1c57b1e3ff05a90bb4d7 Author: Gerrit Renker Date: Tue Mar 20 14:56:11 2007 -0300 [CCID3]: Remove race condition and update t_ipi when `s' changes This: 1. removes a race condition in the access to the scheduled send time t_nom which results from allowing asynchronous r/w access to t_nom without locks; 2. updates the inter-packet interval t_ipi = s/X when `s' changes, following a suggestion by Ian McDonald. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8699be7d240e37c91a84bdf32e79941d72bc7bd5 Author: Ian McDonald Date: Tue Mar 20 14:49:20 2007 -0300 [CCID3]: More verbose debugging This adds a few debugging statements to ccid3.c Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 551dc5f7a11cfb66685bfd36cbbdb209c5a11d14 Author: Ian McDonald Date: Tue Mar 20 14:46:52 2007 -0300 [CCID3]: Fix use of invalid loss intervals This fixes a bug which uses an invalid comparison. The bug resulted in the use of invalid loss intervals. Signed-off-by: Ian McDonald Acked-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 371fe7779cad6557a58df9a1b5543652e067400f Author: Gerrit Renker Date: Tue Mar 20 14:28:44 2007 -0300 [CCID3]: Use MSS for larger initial windows This improves the slow-start phase by using the MSS (as suggested in RFC 4342, sec. 5) instead of the packet size s. Also figured out that __u32 is ample resource enough. After applying, I got the following in the logs: ccid3_hc_tx_packet_recv: client(f7421700), s=6, MSS=1424, w_init=4380, R_sample=176us, X=24886363 Had the previous variant been used, w_init would have been as low as 24. Committer note: removed unneeded cast to unsigned long long that was causing a compiler warning on 64bit architectures. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9bf17475eb658a920125bd8f05edf9c57c2dd950 Author: Gerrit Renker Date: Tue Mar 20 13:11:24 2007 -0300 [CCID3]: Re-order CCID 3 source file No code change at all. This splits ccid3.c into a RX and a TX section, so that the file has an organisation similar to the other ones (e.g. packet_history.{h,c}). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 353b13e10a3f1a18c6b33858fb3337bcd2692eb5 Author: Gerrit Renker Date: Tue Mar 20 13:10:15 2007 -0300 [CCID3]: Remove redundant `len' test Since CCID3 avoids sending 0-byte data packets (cf. ccid3_hc_tx_send_packet), testing for zero-payload length, as performed by ccid3_hc_tx_update_s, is redundant - hence removed by this patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8d13bf9a0bd4984756e234ce54299b92acefab99 Author: Gerrit Renker Date: Tue Mar 20 13:08:19 2007 -0300 [DCCP]: Remove ambiguity in the way before48 is used This removes two ambiguities in employing the new definition of before48, following the analysis on http://www.mail-archive.com/dccp@vger.kernel.org/msg01295.html (1) Updating GSR when P.seqno >= S.SWL With the old definition we did not update when P.seqno and S.SWL are 2^47 apart. To ensure the same behaviour as with the old definition, this is replaced with the equivalent condition dccp_delta_seqno(S.SWL, P.seqno) >= 0 (2) Sending SYNC when P.seqno >= S.OSR Here it is debatable whether the new definition causes an ambiguity: the case is similar to (1); and to have consistency with the case (1), we use the equivalent condition dccp_delta_seqno(S.OSR, P.seqno) >= 0 Detailed Justification commit b16be51b5e5d75cec71b18ebc75f15a4734c62ad Author: Gerrit Renker Date: Tue Mar 20 13:03:47 2007 -0300 [DCCP]: Fix for follows48 The follows48 relation identifies whether 48-bit sequence number x is the direct successor of y. Currently, it does not handle cases of the following type correctly: follows48(0x(prefix)10000LL, 0x(prefix)0FFFFLL) where prefix is an arbitrary hex sequence of up to 7 digits. This is fixed by reusing the new dccp_delta_seqno function. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d52de17b8cf36d43a9d6977e7861a9f415541c6b Author: Gerrit Renker Date: Tue Mar 20 13:00:26 2007 -0300 [DCCP]: Make `before' relation unambiguous Problem: commit 0aec51c86986f61de26dd04913667af544a8b8eb Author: Gerrit Renker Date: Tue Mar 20 12:45:59 2007 -0300 [DCCP]: Make dccp_delta_seqno return signed numbers Problem: commit 6b811d43f6cc9eccdfc011a99f8571df2abc46d1 Author: Gerrit Renker Date: Tue Mar 20 12:26:51 2007 -0300 [DCCP]: 48-bit sequence number arithmetic This patch * organizes the sequence arithmetic functions into one corner of dccp.h * performs a small modification of dccp_set_seqno to make it more widely reusable (now it is safe to use any number, since it performs modulo-2^48 assignment) * adds functions and generic macros for 48-bit sequence arithmetic: --48 bit complement --modulo-48 addition and modulo-48 subtraction --dccp_inc_seqno now a special case of add48 Constants renamed following a suggestion by Arnaldo. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8b5be26831b973d8013e8b4c9860d9694310cdc6 Author: Arnaldo Carvalho de Melo Date: Tue Mar 20 12:08:20 2007 -0300 [FORCEDETH]: Use skb_tailroom where appropriate Reducing the number of skb->data direct accesses. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d004b8d4903180c111e114726982c194adf2a04f Author: Arnaldo Carvalho de Melo Date: Tue Mar 20 12:00:44 2007 -0300 [LMC]: lmc_main wants to use skb_tailroom At that point it is equivalent to what was being used, skb->end - skb->data, and the need is clearly the one skb_tailroom satisfies. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f2adc9866742e7904f0268824edc53c948741415 Author: Arnaldo Carvalho de Melo Date: Tue Mar 20 11:52:34 2007 -0300 [ATM] idt77252: Fix double kfree_skb on failure in push_rx_skb Signed-off-by: Arnaldo Carvalho de Melo commit 6b88dd966b42e374dc783c397efc15f5c1458265 Author: Arnaldo Carvalho de Melo Date: Mon Mar 19 22:29:03 2007 -0300 [SK_BUFF] ipv6: Use skb_network_offset in some more places So that we reduce the number of direct accesses to skb->data. Signed-off-by: Arnaldo Carvalho de Melo commit dc5fc579b90ed0a9a4e55b0218cdbaf0a8cf2e67 Author: Arnaldo Carvalho de Melo Date: Sun Mar 25 23:06:12 2007 -0700 [NETLINK]: Use nlmsg_trim() where appropriate Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a36ca733375860b389c15ffdf6a5f92df64a33b6 Author: Arnaldo Carvalho de Melo Date: Mon Mar 19 22:28:08 2007 -0300 [NETLINK]: Remove NLMSG_{NEW_ANSWER,CANCEL,END} Not used anywhere and defined inside __KERNEL__, Thomas acked this on irc. Signed-off-by: Arnaldo Carvalho de Melo commit 897933bcdf31c372e029dd4e2ecd573ebe6cfd9c Author: Arnaldo Carvalho de Melo Date: Mon Mar 19 22:27:36 2007 -0300 [SK_BUFF]: Remove skb_add_mtu() leftovers Signed-off-by: Arnaldo Carvalho de Melo commit b529ccf2799c14346d1518e9bdf1f88f03643e99 Author: Arnaldo Carvalho de Melo Date: Wed Apr 25 19:08:35 2007 -0700 [NETLINK]: Introduce nlmsg_hdr() helper For the common "(struct nlmsghdr *)skb->data" sequence, so that we reduce the number of direct accesses to skb->data and for consistency with all the other cast skb member helpers. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 965ffea43d4ebe8cd7b9fee78d651268dd7d23c5 Author: Robert Olsson Date: Mon Mar 19 16:29:58 2007 -0700 [IPV4]: fib_trie root node settings The threshold for root node can be more aggressive set to get better tree compression. The new setting mekes the root grow from 16 to 19 bits and substansial improvemnt in Aver depth this with the current table of 214393 prefixes But really the dynamic resize should need more investigation both in terms convergence and performance and maybe it should be possible to change... Maybe just for the brave to start with or we may have to back this out. commit 05eee48c5af8213a71bd908ce17f577b2b776f79 Author: Robert Olsson Date: Mon Mar 19 16:27:37 2007 -0700 [IPV4]: fib_trie resize break The patch below adds break condition for the resize operations. If we don't achieve the desired fill factor a warning is printed. Trie should still be operational but new thresholds should be considered. Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit ca0605a7c8a42379c695308944b3ae82a85479f1 Author: Arnaldo Carvalho de Melo Date: Mon Mar 19 10:48:59 2007 -0300 [SK_BUFF]: Adjust the zeroing up to tail in __alloc_skb too I did it just in alloc_skb_from_cache, forgot __alloc_skb, fixed now. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4305b541357ddbd205aa145dc378926b7cb12283 Author: Arnaldo Carvalho de Melo Date: Thu Apr 19 20:43:29 2007 -0700 [SK_BUFF]: Convert skb->end to sk_buff_data_t Now to convert the last one, skb->data, that will allow many simplifications and removal of some of the offset helpers. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26 Author: Arnaldo Carvalho de Melo Date: Thu Apr 19 20:29:13 2007 -0700 [SK_BUFF]: Convert skb->tail to sk_buff_data_t So that it is also an offset from skb->head, reduces its size from 8 to 4 bytes on 64bit architectures, allowing us to combine the 4 bytes hole left by the layer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4 64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN... :-) Many calculations that previously required that skb->{transport,network, mac}_header be first converted to a pointer now can be done directly, being meaningful as offsets or pointers. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit be8bd86321fa7f06359d866ef61fb4d2f3e9dce9 Author: David S. Miller Date: Thu Apr 19 20:34:51 2007 -0700 [VLAN] vlan_dev: Use skb_reset_network_header(). Signed-off-by: David S. Miller commit afdf27c95629634ea40703197b6788e454d31609 Author: Peter Kovar Date: Fri Mar 16 20:39:25 2007 -0700 [IrDA]: SMC SuperIO Chip LPC47N227 not identified properly SMC SuperIO Chip LPC47N227 used for IrDA is not detected because its device identification byte can be 0x7A instead of 0x5A. Patch from Peter Kovar Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit c7630a4b932af254d61947a3a7e3831de92c7fb5 Author: Samuel Ortiz Date: Fri Mar 16 20:38:23 2007 -0700 [IrDA]: irda lockdep annotation Rmmoding irda triggers a lockdep false positive. Reported-by: Dave Jones Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 5c81cd75fa63eaf2df0b8904508e53e953f316cf Author: Samuel Ortiz Date: Fri Mar 16 20:35:25 2007 -0700 [IrDA]: removing stir4200 useless include stir4200 doesn't need to include irlap.h Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 2e07fa9cd3bac1e28cfe3131ed86b053afb02fc9 Author: Arnaldo Carvalho de Melo Date: Tue Apr 10 21:22:35 2007 -0700 [SK_BUFF]: Use offsets for skb->{mac,network,transport}_header on 64bit architectures With this we save 8 bytes per network packet, leaving a 4 bytes hole to be used in further shrinking work, likely with the offsetization of other pointers, such as ->{data,tail,end}, at the cost of adds, that were minimized by the usual practice of setting skb->{mac,nh,n}.raw to a local variable that is then accessed multiple times in each function, it also is not more expensive than before with regards to most of the handling of such headers, like setting one of these headers to another (transport to network, etc), or subtracting, adding to/from it, comparing them, etc. Now we have this layout for sk_buff on a x86_64 machine: [acme@mica net-2.6.22]$ pahole vmlinux sk_buff struct sk_buff { struct sk_buff * next; /* 0 8 */ struct sk_buff * prev; /* 8 8 */ struct rb_node rb; /* 16 24 */ struct sock * sk; /* 40 8 */ ktime_t tstamp; /* 48 8 */ struct net_device * dev; /* 56 8 */ /* --- cacheline 1 boundary (64 bytes) --- */ struct net_device * input_dev; /* 64 8 */ sk_buff_data_t transport_header; /* 72 4 */ sk_buff_data_t network_header; /* 76 4 */ sk_buff_data_t mac_header; /* 80 4 */ /* XXX 4 bytes hole, try to pack */ struct dst_entry * dst; /* 88 8 */ struct sec_path * sp; /* 96 8 */ char cb[48]; /* 104 48 */ /* cacheline 2 boundary (128 bytes) was 24 bytes ago*/ unsigned int len; /* 152 4 */ unsigned int data_len; /* 156 4 */ unsigned int mac_len; /* 160 4 */ union { __wsum csum; /* 4 */ __u32 csum_offset; /* 4 */ }; /* 164 4 */ __u32 priority; /* 168 4 */ __u8 local_df:1; /* 172 1 */ __u8 cloned:1; /* 172 1 */ __u8 ip_summed:2; /* 172 1 */ __u8 nohdr:1; /* 172 1 */ __u8 nfctinfo:3; /* 172 1 */ __u8 pkt_type:3; /* 173 1 */ __u8 fclone:2; /* 173 1 */ __u8 ipvs_property:1; /* 173 1 */ /* XXX 2 bits hole, try to pack */ __be16 protocol; /* 174 2 */ void (*destructor)(struct sk_buff *); /* 176 8 */ struct nf_conntrack * nfct; /* 184 8 */ /* --- cacheline 3 boundary (192 bytes) --- */ struct sk_buff * nfct_reasm; /* 192 8 */ struct nf_bridge_info *nf_bridge; /* 200 8 */ __u16 tc_index; /* 208 2 */ __u16 tc_verd; /* 210 2 */ dma_cookie_t dma_cookie; /* 212 4 */ __u32 secmark; /* 216 4 */ __u32 mark; /* 220 4 */ unsigned int truesize; /* 224 4 */ atomic_t users; /* 228 4 */ unsigned char * head; /* 232 8 */ unsigned char * data; /* 240 8 */ unsigned char * tail; /* 248 8 */ /* --- cacheline 4 boundary (256 bytes) --- */ unsigned char * end; /* 256 8 */ }; /* size: 264, cachelines: 5 */ /* sum members: 260, holes: 1, sum holes: 4 */ /* bit holes: 1, sum bit holes: 2 bits */ /* last cacheline: 8 bytes */ On 32 bits nothing changes, and pointers continue to be used with the compiler turning all this abstraction layer into dust. But there are some sk_buff validation tricks that are now possible, humm... :-) Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b0e380b1d8a8e0aca215df97702f99815f05c094 Author: Arnaldo Carvalho de Melo Date: Tue Apr 10 21:21:55 2007 -0700 [SK_BUFF]: unions of just one member don't get anything done, kill them Renaming skb->h to skb->transport_header, skb->nh to skb->network_header and skb->mac to skb->mac_header, to match the names of the associated helpers (skb[_[re]set]_{transport,network,mac}_header). Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cfe1fc7759fdacb0c650b575daed1692bf3eaece Author: Arnaldo Carvalho de Melo Date: Fri Mar 16 17:26:39 2007 -0300 [SK_BUFF]: Introduce skb_network_header_len For the common sequence "skb->h.raw - skb->nh.raw", similar to skb->mac_len, that is precalculated tho, don't think we need to bloat skb with one more member, so just use this new helper, reducing the number of non-skbuff.h references to the layer headers even more. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit bff9b61ce330df04c6830d823c30c04203543f01 Author: Arnaldo Carvalho de Melo Date: Fri Mar 16 17:19:57 2007 -0300 [SK_BUFF]: Use the helpers to get the layer header pointer Some more cases... Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 514bca322cb9220308d22691ac1e74038bfabac3 Author: Patrick McHardy Date: Fri Mar 16 12:34:52 2007 -0700 [NET_SCHED]: Fix warning net/sched/sch_api.c: In function 'psched_show': net/sched/sch_api.c:1219: warning: format '%08x' expects type 'unsigned int', but argument 6 has type 's64' Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bb239acf5679ee1936f6b1b034ad260c4fec89c8 Author: Patrick McHardy Date: Fri Mar 16 12:31:28 2007 -0700 [NET_SCHED]: sch_cbq: fix watchdog scheduled too late q->now is increased during dequeue and doesn't contain the current time afterwards, resulting in a too large timeout value for the qdisc watchdog. Use "now" instead, which still contains the current time. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4361cb17f0df5491fe6e2c3ae1defc98e9a64a79 Author: Patrick McHardy Date: Fri Mar 16 01:23:28 2007 -0700 [NET_SCHED]: Export real timer resolution in /proc/net/psched The timer resolution exported in /proc/net/psched is used by userspace to calculate HTB's burst values. Currently it is set to HZ, since we're now using hrtimers, use KTIME_MONOTONIC_RES, which makes HTB use smaller burst values. This patch also affects libnl, which incorrectly uses this value for the SFQ perturbation parameter, which is always in seconds, and some routing cache values, which are in USER_HZ, so both cases are broken anyway. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 00c04af9df3d26e5a8093da850e982a7b6aeada7 Author: Patrick McHardy Date: Fri Mar 16 01:23:02 2007 -0700 [NET_SCHED]: kill jiffie conversion macros Now that all packet schedulers have been converted to hrtimers most users of PSCHED_JIFFIE2US and PSCHED_US2JIFFIE are gone. The remaining users use it to convert external time units to packet scheduler clock ticks, so use PSCHED_TICKS_PER_SEC instead. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fb983d4578e238b7f483b4f8f39f3a0f35d34d16 Author: Patrick McHardy Date: Fri Mar 16 01:22:39 2007 -0700 [NET_SCHED]: sch_htb: use hrtimer based watchdog Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1a13cb63d679da328cfa339c89b8b2d0eba3b81e Author: Patrick McHardy Date: Fri Mar 16 01:22:20 2007 -0700 [NET_SCHED]: sch_cbq: use hrtimer for delay_timer Switch delay_timer to hrtimer. The class penalty parameter is changed to use psched ticks as units. Since iproute never supported using this and the only existing user (libnl) incorrectly assumes psched ticks as units anyway, this shouldn't break anything. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e9054a339eb275c756efeeaee42af484ac72a3f4 Author: Patrick McHardy Date: Fri Mar 16 01:21:40 2007 -0700 [NET_SCHED]: sch_cbq: fix cbq_undelay_prio for non-active priorites cbq_undelay_prio is supposed to return a time delta, but returns the current time for non-active priorities, causing cbq_undelay to mark the priority as active and schedule a timer for twice the current time. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 88a993540a65c38865f83961520494b4ad5d0363 Author: Patrick McHardy Date: Fri Mar 16 01:21:11 2007 -0700 [NET_SCHED]: sch_cbq: use hrtimer based watchdog Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 59cb5c6734021acc68590c7c2e0e92ad9a4952c6 Author: Patrick McHardy Date: Fri Mar 16 01:20:31 2007 -0700 [NET_SCHED]: sch_netem: use hrtimer based watchdog Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f7f593e383145931cb2a65df62c31ce1bcc0cffc Author: Patrick McHardy Date: Fri Mar 16 01:20:07 2007 -0700 [NET_SCHED]: sch_tbf: use hrtimer based watchdog Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ed2b229a97fd537857ad8441ab8b5996b15eadfd Author: Patrick McHardy Date: Fri Mar 16 01:19:33 2007 -0700 [NET_SCHED]: sch_hfsc: use hrtimer based watchdog Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4179477f637caa730626bd597fdf28c5bad73565 Author: Patrick McHardy Date: Fri Mar 16 01:19:15 2007 -0700 [NET_SCHED]: Add hrtimer based qdisc watchdog Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 641b9e0e8b7f96425da6ce98f3361e3af0baee29 Author: Patrick McHardy Date: Fri Mar 16 01:18:42 2007 -0700 [NET_SCHED]: Use ktime as clocksource Get rid of the manual clock source selection mess and use ktime. Also use a scalar representation, which allows to clean up pkt_sched.h a bit more and results in less ktime_to_ns() calls in most cases. The PSCHED_US2JIFFIE/PSCHED_JIFFIE2US macros are implemented quite inefficient by this patch, following patches will convert all qdiscs to hrtimers and get rid of them entirely. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ddc7b8e32b22fe8b45d306b7d99472d4b560add6 Author: Arnaldo Carvalho de Melo Date: Thu Mar 15 21:42:27 2007 -0300 [SK_BUFF]: Some more layer header conversions Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0a6114d94b6d6f82e81cb8e0d8b0d4cf50739fec Author: Arnaldo Carvalho de Melo Date: Thu Mar 15 21:08:55 2007 -0300 [KBUILD]: Unifdef headers changed by the skb layer header refactorings Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d10ba34b001944a8d1c8adb5646140ef089c432b Author: Arnaldo Carvalho de Melo Date: Wed Mar 14 21:05:37 2007 -0300 [SK_BUFF]: More skb_put related skb_reset_transport_header This time we have to set it to skb->tail that is not anymore equal to skb->data, so we either add a new helper or just add the skb->tail - skb->data offset, for now do the later. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 55f79cc0c02f9ce8f85e965e9679796f62b790f5 Author: Arnaldo Carvalho de Melo Date: Wed Mar 14 21:05:03 2007 -0300 [IPV6]: Reset the network header in ip6_nd_hdr ip6_nd_hdr is always called immediately after a alloc_skb + skb_reserve sequence, i.e. when skb->tail is equal to skb->data, making it correct to use skb_reset_network_header(). Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit eeeb03745bf9ea352df2373b9cb5fa14e60a2de0 Author: Arnaldo Carvalho de Melo Date: Wed Mar 14 21:04:34 2007 -0300 [SK_BUFF]: More skb_put related conversions to skb_reset_transport_header This is similar to the skb_reset_network_header(), i.e. at the point we reset the transport header pointer/offset skb->tail is equal to skb->data. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ac6d141dc7d1d0eeec850d1b451dca83ce649684 Author: Pablo Neira Ayuso Date: Wed Mar 14 16:45:39 2007 -0700 [NETFILTER]: nfnetlink: parse attributes with nfattr_parse in nfnetlink_check_attribute Use nfattr_parse to parse attributes, this patch also modifies the default behaviour since unknown attributes will be ignored instead of returning EINVAL. This ensure backward compatibility: new libraries with new attributes and old kernels can work. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c8e2078cfe414a99cf6f2f2f1d78c7e75392e9d4 Author: Pablo Neira Ayuso Date: Wed Mar 14 16:45:19 2007 -0700 [NETFILTER]: ctnetlink: add support for internal tcp connection tracking flags handling This patch let userspace programs set the IP_CT_TCP_BE_LIBERAL flag to force the pickup of established connections. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5c8ce7c92106434d2bdc9d5dfa5f62bf4546b296 Author: Willy Tarreau Date: Wed Mar 14 16:44:53 2007 -0700 [NETFILTER]: TCP conntrack: factorize out the PUSH flag The PUSH flag is accepted with every other valid combination. Let's get it out of the tcp_valid_flags table and reduce the number of combinations we have to handle. This does not significantly reduce the table size however (8 bytes). Signed-off-by: Willy Tarreau Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8f5bd99071212cd16b3449d16639971a44540d51 Author: Willy Tarreau Date: Wed Mar 14 16:44:31 2007 -0700 [NETFILTER]: TCP conntrack: accept RST|PSH as valid This combination has been encountered on an IBM AS/400 in response to packets sent to a closed session. There is no particular reason to mark it invalid. Signed-off-by: Willy Tarreau Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e7ac05f3407a3fb5a1b2ff5d5554899eaa0a10a3 Author: Yasuyuki Kozakai Date: Wed Mar 14 16:44:01 2007 -0700 [NETFILTER]: nf_conntrack: add nf_copy() to safely copy members in skb This unifies the codes to copy netfilter related datas. Before copying, nf_copy() puts original members in destination skb. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit edda553c324bdc5bb5c2d553b524cab37058a855 Author: Yasuyuki Kozakai Date: Wed Mar 14 16:43:37 2007 -0700 [NETFILTER]: nf_conntrack: add __nf_copy() to copy members in skb This unifies the codes to copy netfilter related datas. Note that __nf_copy() assumes destination skb doesn't have any netfilter related members. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9b88790972498d235a2a4d2b66640c3c5b70bb7c Author: Sami Farin Date: Wed Mar 14 16:43:00 2007 -0700 [NETFILTER]: nf_conntrack: use jhash2 in __hash_conntrack Now it uses jhash, but using jhash2 would be around 3-4 times faster (on P4). Signed-off-by: Sami Farin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8e87e014ec881ce353e1f43340157f519b5d9f30 Author: Patrick McHardy Date: Wed Mar 14 16:42:29 2007 -0700 [JHASH]: Use const in jhash2 Use const to avoid forcing users to cast const data. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f4bc177f0ff0bf41b178452877762a9f0184d1a1 Author: Pablo Neira Ayuso Date: Wed Mar 14 16:42:11 2007 -0700 [NETFILTER]: nfnetlink: move EXPORT_SYMBOL declarations next to the exported symbol Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8a2e89533a9b06bc960445dd6034eeab76117424 Author: Pablo Neira Ayuso Date: Wed Mar 14 16:41:47 2007 -0700 [NETFILTER]: nfnetlink: remove unused includes in nfnetlink.c Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac0f1d9894650d900af99bdaed83e110d9dce025 Author: Pablo Neira Ayuso Date: Wed Mar 14 16:41:28 2007 -0700 [NETFILTER]: nfnetlink: remove unrequired check in nfnetlink_get_subsys subsys_table is initialized to NULL, therefore just returns NULL in case that it is not set. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d9e6d029498ab9e943c70f24c027aeda5602196d Author: Pablo Neira Ayuso Date: Wed Mar 14 16:41:03 2007 -0700 [NETFILTER]: nfnetlink: remove duplicate checks in nfnetlink_check_attributes Remove nfnetlink_check_attributes duplicates message size and callback id checks. nfnetlink_find_client and nfnetlink_rcv_msg already do such checks. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 67ca396606432aae3b747d5e6bb61d0c297eb782 Author: Pablo Neira Ayuso Date: Wed Mar 14 16:40:38 2007 -0700 [NETFILTER]: nfnetlink: remove early debugging messages from nfnetlink Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 010c7d6f867e98c86723f420d485583464fbab45 Author: Patrick McHardy Date: Wed Mar 14 16:40:10 2007 -0700 [NETFILTER]: nf_conntrack: uninline notifier registration functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 73c361862c2be2e4ed6019da283fe1b422107f16 Author: Patrick McHardy Date: Wed Mar 14 16:39:45 2007 -0700 [NETFILTER]: nfnetlink: use netlink_run_queue() Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a3c5029cf7a96da3acdf6884a21581b5bef310c3 Author: Patrick McHardy Date: Wed Mar 14 16:39:25 2007 -0700 [NETFILTER]: nfnetlink: use mutex instead of semaphore Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c6a1e615d1ba942b9e783079d53f741e4a8e1c89 Author: Patrick McHardy Date: Wed Mar 14 16:39:07 2007 -0700 [NETFILTER]: nf_conntrack: simplify l4 protocol array allocation The retrying after an allocation failure is not necessary anymore since we're holding the mutex the entire time, for the same reason the double allocation race can't happen anymore. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0661cca9c216322e77dca7f47df107c02ce4e70c Author: Patrick McHardy Date: Wed Mar 14 16:38:48 2007 -0700 [NETFILTER]: nf_conntrack: simplify protocol locking Now that we don't use nf_conntrack_lock anymore but a single mutex for all protocol handling, no need to release and grab it again for sysctl registration. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac5357ebac43e191003c2cd0722377dccfa01a84 Author: Patrick McHardy Date: Wed Mar 14 16:38:25 2007 -0700 [NETFILTER]: nf_conntrack: remove ugly hack in l4proto registration Remove ugly special-casing of nf_conntrack_l4proto_generic, all it wants is its sysctl tables registered, so do that explicitly in an init function and move the remaining protocol initialization and cleanup code to nf_conntrack_proto.c as well. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b19caa0ca071dce76b0e81e957e7eb7c03d72cf5 Author: Patrick McHardy Date: Wed Mar 14 16:37:52 2007 -0700 [NETFILTER]: nf_conntrack: switch protocol registration/unregistration to mutex The protocol lookups done by nf_conntrack are already protected by RCU, there is no need to keep taking nf_conntrack_lock for registration and unregistration. Switch to a mutex. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 587aa64163bb14f70098f450abab9410787fce9d Author: Patrick McHardy Date: Wed Mar 14 16:37:25 2007 -0700 [NETFILTER]: Remove IPv4 only connection tracking/NAT Remove the obsolete IPv4 only connection tracking/NAT as scheduled in feature-removal-schedule. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ce18afe57bf53477f133208856dd2b7e6b5db5e3 Author: Tobias Klauser Date: Wed Mar 14 16:36:16 2007 -0700 [NETFILTER]: x_tables: remove duplicate of xt_prefix Remove xt_proto_prefix array which duplicates xt_prefix and change all users of xt_proto_prefix to xt_prefix. Signed-off-by: Tobias Klauser Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 239254fedcbc6ff79bcf5696fe94723f7a5d0782 Author: David S. Miller Date: Thu Apr 19 19:55:44 2007 -0700 [IPV4] xfrm4_mode_beet: Use skb_transport_header(). Signed-off-by: David S. Miller commit 9c70220b73908f64792422a2c39c593c4792f2c5 Author: Arnaldo Carvalho de Melo Date: Wed Apr 25 18:04:18 2007 -0700 [SK_BUFF]: Introduce skb_transport_header(skb) For the places where we need a pointer to the transport header, it is still legal to touch skb->h.raw directly if just adding to, subtracting from or setting it to another layer header. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a27ef749e7be3b06fb58df53d94eb97a21f18707 Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 17:17:10 2007 -0300 [SCTP]: Eliminate some pointer attributions to the skb layer headers Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit bd82393ca23324d103b21aae43160728da6e6c9c Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 17:10:43 2007 -0300 [SK_BUFF]: More skb_reset_transport_header conversions These are a bit more subtle, they are of this type: - skb->h.raw = payload; __skb_pull(skb, payload - skb->data); + skb_reset_transport_header(skb); __skb_pull results in: skb->data = skb->data + payload - skb->data; skb->data = payload; So after __skb_pull we have skb->data pointing to payload and we can just call skb_reset_transport_header(skb), that will do: skb->h.raw = payload; The others are similar, allowing us to get rid of some more cases where a pointer was being attributed to the layer headers. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 39b89160df691045d1449cbaef43c02084c7543a Author: Arnaldo Carvalho de Melo Date: Tue Apr 10 21:06:25 2007 -0700 [SK_BUFF]: Introduce ipipv6_hdr(), remove skb->h.ipv6h Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b0061ce49c83657563b64ffcf1ec137110230d93 Author: Arnaldo Carvalho de Melo Date: Wed Apr 25 18:02:22 2007 -0700 [SK_BUFF]: Introduce ipip_hdr(), remove skb->h.ipiph Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit aa8223c7bb0b05183e1737881ed21827aa5b9e73 Author: Arnaldo Carvalho de Melo Date: Tue Apr 10 21:04:22 2007 -0700 [SK_BUFF]: Introduce tcp_hdr(), remove skb->h.th Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ab6a5bb6b28a970104a34f0f6959b73cf61bdc72 Author: Arnaldo Carvalho de Melo Date: Sun Mar 18 17:43:48 2007 -0700 [TCP]: Introduce tcp_hdrlen() and tcp_optlen() The ip_hdrlen() buddy, created to reduce the number of skb->h.th-> uses and to avoid the longer, open coded equivalent. Ditched a no-op in bnx2 in the process. I wonder if we should have a BUG_ON(skb->h.th->doff < 5) in tcp_optlen()... Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 88c7664f13bd1a36acb8566b93892a4c58759ac6 Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 14:43:18 2007 -0300 [SK_BUFF]: Introduce icmp_hdr(), remove skb->h.icmph Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4bedb45203eab92a87b4c863fe2d0cded633427f Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 14:28:48 2007 -0300 [SK_BUFF]: Introduce udp_hdr(), remove skb->h.uh Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d9edf9e2be0f7661558984c32bd53867a7037fd3 Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 14:19:23 2007 -0300 [SK_BUFF]: Introduce igmp_hdr() & friends, remove skb->h.igmph Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cc70ab261c9f997589546100ddec5da6bfd89c4e Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 14:03:22 2007 -0300 [ICMP6]: Introduce icmp6_hdr() For consistency with all the other skb->h.raw accessors. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2c0fd387b00a6758550b5ca1aae4408374483fe7 Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 13:59:32 2007 -0300 [SCTP]: Introduce sctp_hdr() For consistency with all the other skb->h.raw accessors. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 967b05f64e27d04a4c8879addd0e1c52137e2c9e Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 13:51:52 2007 -0300 [SK_BUFF]: Introduce skb_set_transport_header For the cases where the transport header is being set to a offset from skb->data. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ea2ae17d6443abddc79480dc9f7af8feacabddc4 Author: Arnaldo Carvalho de Melo Date: Wed Apr 25 17:55:53 2007 -0700 [SK_BUFF]: Introduce skb_transport_offset() For the quite common 'skb->h.raw - skb->data' sequence. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit badff6d01a8589a1c828b0bf118903ca38627f4e Author: Arnaldo Carvalho de Melo Date: Tue Mar 13 13:06:52 2007 -0300 [SK_BUFF]: Introduce skb_reset_transport_header(skb) For the common, open coded 'skb->h.raw = skb->data' operation, so that we can later turn skb->h.raw into a offset, reducing the size of struct sk_buff in 64bit land while possibly keeping it as a pointer on 32bit. This one touches just the most simple cases: skb->h.raw = skb->data; skb->h.raw = {skb_push|[__]skb_pull}() The next ones will handle the slightly more "complex" cases. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0660e03f6b18f19b6bbafe7583265a51b90daf36 Author: Arnaldo Carvalho de Melo Date: Wed Apr 25 17:54:47 2007 -0700 [SK_BUFF]: Introduce ipv6_hdr(), remove skb->nh.ipv6h Now the skb->nh union has just one member, .raw, i.e. it is just like the skb->mac union, strange, no? I'm just leaving it like that till the transport layer is done with, when we'll rename skb->mac.raw to skb->mac_header (or ->mac_header_offset?), ditto for ->{h,nh}. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d0a92be05ed4aea7d35c2b257e3f9173565fe4eb Author: Arnaldo Carvalho de Melo Date: Mon Mar 12 20:56:31 2007 -0300 [SK_BUFF]: Introduce arp_hdr(), remove skb->nh.arph Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit fd74e6ccd522e2f26163eb5ac1abebcab2bd017c Author: Stephen Hemminger Date: Mon Mar 12 16:25:32 2007 -0700 [BRIDGE]: faster compare for link local addresses Use logic operations rather than memcmp() to compare destination address with link local multicast addresses. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0 Author: Arnaldo Carvalho de Melo Date: Fri Apr 20 22:47:35 2007 -0700 [SK_BUFF]: Introduce ip_hdr(), remove skb->nh.iph Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e023dd643798c4f06c16466af90b4d250e4b8bd7 Author: Arnaldo Carvalho de Melo Date: Mon Mar 12 20:09:36 2007 -0300 [IPMR]: Fix bug introduced when converting to skb_network_reset_header Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c9bdd4b5257406b0608385d19c40b5511decf4f6 Author: Arnaldo Carvalho de Melo Date: Mon Mar 12 20:09:15 2007 -0300 [IP]: Introduce ip_hdrlen() For the common sequence "skb->nh.iph->ihl * 4", removing a good number of open coded skb->nh.iph uses, now to go after the rest... Just out of curiosity, here are the idioms found to get the same result: skb->nh.iph->ihl << 2 skb->nh.iph->ihl<<2 skb->nh.iph->ihl * 4 skb->nh.iph->ihl*4 (skb->nh.iph)->ihl * sizeof(u32) Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0272ffc46f81a4bbbf302ba093c737e969c5bb55 Author: Arnaldo Carvalho de Melo Date: Mon Mar 12 20:05:39 2007 -0300 [SK_BUFF] ipmr: Missed one conversion to skb_network_header() We can't access skb->nh.raw directly anymore, it will become an offset. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0e1256ffd1ec654b35e023c66f6b262d4cba91e9 Author: Stephen Hemminger Date: Mon Mar 12 14:35:37 2007 -0700 [NET]: show bound packet types Show what protocols are bound to what packet types in /proc/net/ptype Uses kallsyms to decode function pointers if possible. Example: Type Device Function ALL eth1 packet_rcv_spkt+0x0 0800 ip_rcv+0x0 0806 arp_rcv+0x0 86dd :ipv6:ipv6_rcv+0x0 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f690808e17925fc45217eb22e8670902ecee5c1b Author: Stephen Hemminger Date: Mon Mar 12 14:34:29 2007 -0700 [NET]: make seq_operations const The seq_file operations stuff can be marked constant to get it out of dirty cache. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6b2bedc3a659ba228a93afc8e3f008e152abf18a Author: Stephen Hemminger Date: Mon Mar 12 14:33:50 2007 -0700 [NET]: network dev read_mostly For Eric, mark packet type and network device watermarks as read mostly. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c14d2450cb7fe1786e2ec325172baf66922bf597 Author: Arnaldo Carvalho de Melo Date: Sun Mar 11 22:39:41 2007 -0300 [SK_BUFF]: Introduce skb_set_network_header For the cases where the network header is being set to a offset from skb->data. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 878c814500b123dd61a5e211879a32e5fd932713 Author: Arnaldo Carvalho de Melo Date: Sun Mar 11 22:38:29 2007 -0300 [SK_BUFF] ipmr: Another skb_push related conversion to skb_reset_network_header Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc Author: Arnaldo Carvalho de Melo Date: Tue Apr 10 20:50:43 2007 -0700 [SK_BUFF]: Introduce skb_network_header() For the places where we need a pointer to the network header, it is still legal to touch skb->nh.raw directly if just adding to, subtracting from or setting it to another layer header. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit bbe735e4247dba32568a305553b010081c8dea99 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 22:16:10 2007 -0300 [SK_BUFF]: Introduce skb_network_offset() For the quite common 'skb->nh.raw - skb->data' sequence. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e7dd65dafda5737a983c04d652a69ab8da78ee3f Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 20:09:45 2007 -0300 [SK_BUFF] bonding: Set skb->nh.raw relative to skb->mac.raw Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7f5c0cb05f158ee91414e1f99d3fe18349a80371 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 19:59:16 2007 -0300 [SK_BUFF] xfrm4: use skb_reset_network_header Setting it to skb->h.raw, which is valid, in the (to become) old pointer based world order and in the new world of offset based layer headers. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 1ced98e81d1c2f1ce965ecf8d0032e02ffa07bf0 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 19:57:15 2007 -0300 [SK_BUFF] ipv6: More skb_reset_network_header conversions related to skb_pull Now related to this form: skb->nh.ipv6h = (struct ipv6hdr *)skb_put(skb, length); That, as the others, is done when skb->tail is still equal to skb->data, making the conversion to skb_reset_network_header possible. Also one more case equivalent to skb->nh.raw = skb->data, of this form: iph = (struct ipv6hdr *)skb->data; skb->nh.ipv6h = iph; Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8856dfa3e9b71ac2177016f66ace3a8978afecc1 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 19:40:39 2007 -0300 [SK_BUFF]: Use skb_reset_network_header after skb_push Some more cases where skb->nh.iph was being set that were converted to using skb_reset_network_header. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 04b964dbad25cbd6edd8ecbeca2efb40c9860865 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 19:27:27 2007 -0300 [SK_BUFF] ipconfig: Another conversion to skb_reset_network_header related to skb_put boot_pkt->iph is the first member, that is at skb->data, so just use skb_reset_network_header(). Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2ca9e6f2c2a4117d21947e911ae1f5e5306b0df0 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 19:15:25 2007 -0300 [SK_BUFF]: Some more skb_put cases converted to skb_reset_network_header Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 31c7711b509d470ab1e175e7bb98ea66a82aa916 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 19:04:55 2007 -0300 [SK_BUFF]: Some more simple skb_reset_network_header conversions This time of the type: skb->nh.iph = (struct iphdr *)skb->data; That is completely equivalent to: skb->nh.raw = skb->data; Wonder why people love casts... :-) Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4209fb601c0a0e0a9d90c0008f350dd345c8b7de Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 18:42:03 2007 -0300 [SK_BUFF]: Use skb_reset_network_header where the return of __pskb_pull was being used It returns skb->data, so we can just use skb_reset_network_header after it. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7e28ecc282574a7d72ace365fc9bc86e27ba880f Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 18:40:59 2007 -0300 [SK_BUFF]: Use skb_reset_network_header where the skb_pull return was being used But only in the cases where its a newly allocated skb, i.e. one where skb->tail is equal to skb->data, or just after skb_reserve, where this requirement is maintained. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e2d1bca7e6134671bcb19810d004a252aa6a644d Author: Arnaldo Carvalho de Melo Date: Tue Apr 10 20:46:21 2007 -0700 [SK_BUFF]: Use skb_reset_network_header in skb_push cases skb_push updates and returns skb->data, so we can just call skb_reset_network_header after the call to skb_push. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce Author: Arnaldo Carvalho de Melo Date: Tue Apr 10 20:45:18 2007 -0700 [SK_BUFF]: Introduce skb_reset_network_header(skb) For the common, open coded 'skb->nh.raw = skb->data' operation, so that we can later turn skb->nh.raw into a offset, reducing the size of struct sk_buff in 64bit land while possibly keeping it as a pointer on 32bit. This one touches just the most simple case, next will handle the slightly more "complex" cases. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 57effc70a5be9f7804e9a99964eb7265367effca Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 16:21:45 2007 -0300 [IPV6]: Use skb->nh.ipv6h instead of casting skb->nh.raw nh.ipv6h is there exactly for this reason! Use it while it exists ;-) Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a16aeb36239ce612699ed64a75a03c88cbc657e8 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 16:07:19 2007 -0300 [BONDING]: Introduce arp_pkt() For consistency with all the other skb->nh.raw accessors. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 797659fb4a4a511649cd71028141c32ad1698a12 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 15:56:08 2007 -0300 [PPPOE]: Introduce pppoe_hdr() For consistency with all the other skb->nh.raw accessors. Also do some really obvious simplifications in pppoe_recvmsg, well the kfree_skb one is not so obvious, but free() and kfree() have the same behaviour (hint :-) ). Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 37e6636669b0b996681586facee8034f7f674f6a Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 15:34:36 2007 -0300 [LLC]: Kill llc_set_pdu_hdr We'll have skb_reset_network_header soon. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 98e399f82ab3a6d863d1d4a7ea48925cc91c830e Author: Arnaldo Carvalho de Melo Date: Mon Mar 19 15:33:04 2007 -0700 [SK_BUFF]: Introduce skb_mac_header() For the places where we need a pointer to the mac header, it is still legal to touch skb->mac.raw directly if just adding to, subtracting from or setting it to another layer header. This one also converts some more cases to skb_reset_mac_header() that my regex missed as it had no spaces before nor after '=', ugh. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 31713c333ddbb66d694829082620b69b71c4b09a Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 12:48:37 2007 -0300 [TCP]: Use skb_set_mac_header in tcp_collapse Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c51957dafa6f960c5c6372aa3da6c8fa71c13730 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 12:47:22 2007 -0300 [TCP]: Do the layer header setting in tcp_collapse relative to skb->data That is equal to skb->head before skb_reserve, to help in the layer header changes. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 39f69c6f922fbfb51e1ff24c9e196584a79f1484 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 12:40:27 2007 -0300 [SK_BUFF] xfrm: Use skb_set_mac_header in the memmove cases Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 48d49d0ccdaa9caff4636ef9c3410973d28131b5 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 12:30:58 2007 -0300 [SK_BUFF]: Introduce skb_set_mac_header() For the cases where we want to set skb->mac.raw to an offset from skb->data. Simple cases first, the memmove ones and specially pktgen will be left for later. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f64955eb117ad62480b858fd69a11e6f9e74f60b Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 12:17:29 2007 -0300 [LLC]: Use skb_reset_mac_header in llc_mac_hdr_init skb_push updates and returns skb->data, so we can just call skb_reset_mac_header after the call to skb_push. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0a1b0ad9ae27f918fd935c6da101083e11446f09 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 12:14:56 2007 -0300 [LLC]: Use skb_reset_mac_header in llc_alloc_frame skb->head is equal to skb->data after alloc_skb, so reset the mac header while this is true, i.e. before skb_reserve. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 459a98ed881802dee55897441bc7f77af614368e Author: Arnaldo Carvalho de Melo Date: Mon Mar 19 15:30:44 2007 -0700 [SK_BUFF]: Introduce skb_reset_mac_header(skb) For the common, open coded 'skb->mac.raw = skb->data' operation, so that we can later turn skb->mac.raw into a offset, reducing the size of struct sk_buff in 64bit land while possibly keeping it as a pointer on 32bit. This one touches just the most simple case, next will handle the slightly more "complex" cases. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0 Author: Arnaldo Carvalho de Melo Date: Wed Apr 25 17:40:23 2007 -0700 [ETH]: Make eth_type_trans set skb->dev like the other *_type_trans One less thing for drivers writers to worry about. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 029720f15dcd3c6c16824177cfc486083b229411 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 11:20:07 2007 -0300 [AOE]: Introduce aoe_hdr() For consistency with other skb->mac.raw users. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4839fccea04b5f4d2b3ce01585d6bdbcbc24002c Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 11:13:59 2007 -0300 [QETH]: Use eth_hdr() Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0a4f23fbbff70c268b0f2f5e0b87301c132fb305 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 10:57:13 2007 -0300 [HIPPI/FDDI]: Make {hippi,fddi}_type_trans set skb->dev Now all the _type_trans routines are consistent in this regard. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c8fb7948dc1aeff0515b2912b564d4236f6c0ebd Author: Arnaldo Carvalho de Melo Date: Mon Mar 19 15:29:16 2007 -0700 [TR]: Make tr_type_trans set skb->dev Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c1a4b86e396b6870b420d23e4d49c7b685aef0a4 Author: Arnaldo Carvalho de Melo Date: Mon Mar 19 15:27:07 2007 -0700 [TR]: Use tr_hdr() were appropriate Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7c81fd8bfbaa9732eca142350de5154da6919411 Author: Arnaldo Carvalho de Melo Date: Sat Mar 10 00:39:35 2007 -0300 [SOCKET]: Export __sock_recv_timestamp Kernel: arch/x86_64/boot/bzImage is ready (#2) MODPOST 1816 modules WARNING: "__sock_recv_timestamp" [net/sctp/sctp.ko] undefined! WARNING: "__sock_recv_timestamp" [net/packet/af_packet.ko] undefined! WARNING: "__sock_recv_timestamp" [net/key/af_key.ko] undefined! WARNING: "__sock_recv_timestamp" [net/ipv6/ipv6.ko] undefined! WARNING: "__sock_recv_timestamp" [net/atm/atm.ko] undefined! make[2]: *** [__modpost] Error 1 make[1]: *** [modules] Error 2 make: *** [_all] Error 2 Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 92f37fd2ee805aa77925c1e64fd56088b46094fc Author: Eric Dumazet Date: Sun Mar 25 22:14:49 2007 -0700 [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support Now that network timestamps use ktime_t infrastructure, we can add a new SOL_SOCKET sockopt SO_TIMESTAMPNS. This command is similar to SO_TIMESTAMP, but permits transmission of a 'timespec struct' instead of a 'timeval struct' control message. (nanosecond resolution instead of microsecond) Control message is labelled SCM_TIMESTAMPNS instead of SCM_TIMESTAMP A socket cannot mix SO_TIMESTAMP and SO_TIMESTAMPNS : the two modes are mutually exclusive. sock_recv_timestamp() became too big to be fully inlined so I added a __sock_recv_timestamp() helper function. Signed-off-by: Eric Dumazet CC: linux-arch@vger.kernel.org Signed-off-by: David S. Miller commit c7a3c5da35055e2fa97ed4f0da3eec4bd0ef4c38 Author: Arnaldo Carvalho de Melo Date: Fri Mar 9 13:51:54 2007 -0800 [UDP]: Use __skb_pull since we have checked it won't fail with pskb_may_pull Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6dea649a8a4c4b086227018c919298f988c34b30 Author: Eric Dumazet Date: Thu Mar 8 22:36:37 2007 -0800 [NET]: New sysctls should use __read_mostly tags net_msg_warn should be placed in the read_mostly section, to avoid performance problems on SMP Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e5268f12f26f1f51590cd1ed26547e21c46b08f2 Author: YOSHIFUJI Hideaki Date: Thu Mar 8 20:48:23 2007 -0800 [IPV6]: Ensure to truncate result and return full length for sticky options. Bug noticed by Chris Wright . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 4c6510a738c71ca6b4b7b624a7d0a00acebfd7fb Author: YOSHIFUJI Hideaki Date: Sun Mar 18 17:35:57 2007 -0700 [IPV6]: Return correct result for sticky options. We returned incorrect result with IPV6_RTHDRDSTOPTS, IPV6_RTHDR and IPV6_DSTOPTS. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 3fbe070a4293e8ab2d2edb1bc23f1e5220ce61af Author: Stephen Hemminger Date: Thu Mar 8 20:46:41 2007 -0800 [UDP]: deinline A couple of functions are exported or used indirectly so it is pointless to mark them as inline. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6f05f629716a71d4c9c82813f45d3e9a6e90d146 Author: Stephen Hemminger Date: Thu Mar 8 20:46:03 2007 -0800 [NET]: deinline some functions Several functions are marked inline or forced inline, but it would be better to let the compiler decide. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2de979bd7da9c8b39cc0aabb0ab5aa1516d929eb Author: Stephen Hemminger Date: Thu Mar 8 20:45:19 2007 -0800 [TCP]: whitespace cleanup Add whitespace around keywords. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 132adf54639cf7dd9315e8df89c2faa59f6e46d9 Author: Stephen Hemminger Date: Thu Mar 8 20:44:43 2007 -0800 [IPV4]: cleanup Add whitespace around keywords. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1ac58ee37f439044eb09381f33c97ce0e7f2643b Author: Stephen Hemminger Date: Thu Mar 8 20:43:49 2007 -0800 [WIRELESS]: use ARRAY_SIZE() Use ARRAY_SIZE() macro now. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e71a4783aae059931f63b2d4e7013e36529badef Author: Stephen Hemminger Date: Tue Apr 10 20:10:33 2007 -0700 [NET] core: whitespace cleanup Fix whitespace around keywords. Fix indentation especially of switch statements. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit add459aa1afe05472abc96f6a29aefd0c84e73d6 Author: Stephen Hemminger Date: Thu Mar 8 20:42:35 2007 -0800 [UDP]: ipv6 style cleanup Fix whitespace around keywords. Eliminate unnecessary ()'s on return statements. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6516c65573fde5e421c6c92c4b180bbe2245b23b Author: Stephen Hemminger Date: Thu Mar 8 20:41:55 2007 -0800 [UDP]: ipv4 whitespace cleanup Fix whitespace around keywords. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a2a316fd068c455c609ecc155dcfaa7e208d29fe Author: Stephen Hemminger Date: Thu Mar 8 20:41:08 2007 -0800 [NET]: Replace CONFIG_NET_DEBUG with sysctl. Covert network warning messages from a compile time to runtime choice. Removes kernel config option and replaces it with new /proc/sys/net/core/warnings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23 Author: Eric Dumazet Date: Sun Mar 18 17:33:16 2007 -0700 [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution Now network timestamps use ktime_t infrastructure, we can add a new ioctl() SIOCGSTAMPNS command to get timestamps in 'struct timespec'. User programs can thus access to nanosecond resolution. Signed-off-by: Eric Dumazet CC: Stephen Hemminger Signed-off-by: David S. Miller commit cb69cc52364690d7789940c480b3a9490784b680 Author: Adrian Bunk Date: Wed Mar 7 19:33:52 2007 -0800 [TCP/DCCP/RANDOM]: Remove unused exports. This patch removes the following not or no longer used exports: - drivers/char/random.c: secure_tcp_sequence_number - net/dccp/options.c: sysctl_dccp_feat_sequence_window - net/netlink/af_netlink.c: netlink_set_err Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit fe067e8ab5e0dc5ca3c54634924c628da92090b4 Author: David S. Miller Date: Wed Mar 7 12:12:44 2007 -0800 [TCP]: Abstract out all write queue operations. This allows the write queue implementation to be changed, for example, to one which allows fast interval searching. Signed-off-by: David S. Miller commit 02ea4923b4997d7e1310c027081f46d584b9d714 Author: YOSHIFUJI Hideaki Date: Wed Mar 7 14:21:31 2007 +0900 [NET] TIPC: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b6d9bcb0697e60d5424e2f395fe950f0e22f4418 Author: YOSHIFUJI Hideaki Date: Wed Mar 7 14:21:20 2007 +0900 [NET] SCHED: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 8f05ce91c8b801af106611ad83b1d8d7429b9b46 Author: YOSHIFUJI Hideaki Date: Wed Mar 7 14:21:00 2007 +0900 [NET] NETFILTER: Use htonl() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 4412ec494868160d57da6e436a92b0696f40b19d Author: YOSHIFUJI Hideaki Date: Wed Mar 7 14:19:10 2007 +0900 [NET] IPV4: Use hton{s,l}() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 1c9e8ef7f731c2548414644e5bf540c38c85aff0 Author: YOSHIFUJI Hideaki Date: Wed Mar 7 14:19:05 2007 +0900 [NET] IEEE80211: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit f576e24ffaf2c6b01af389e3bad3342681a8b84f Author: YOSHIFUJI Hideaki Date: Wed Mar 7 14:19:03 2007 +0900 [NET] ETHERNET: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 724800d61b8bc574a364707b6a6c6a6252e8cdb4 Author: YOSHIFUJI Hideaki Date: Sun Mar 25 20:13:04 2007 -0700 [NET] CORE: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit aca3192cc60d2bf193c2252e45563c32e3117289 Author: YOSHIFUJI Hideaki Date: Sun Mar 25 20:12:50 2007 -0700 [NET] BLUETOOTH: Use cpu_to_le{16,32}() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit acde4855bb8f5fba8bb065d35ff6ac8a94b3dfa8 Author: YOSHIFUJI Hideaki Date: Sun Mar 25 20:12:32 2007 -0700 [NET] ATM: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b93b7eebd328d5c1d171896fb823267539d4a0f6 Author: YOSHIFUJI Hideaki Date: Sun Mar 25 20:12:18 2007 -0700 [NET] 8021Q: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 2953fd246845f4d00af3717163f37b2ff4c5ce29 Author: YOSHIFUJI Hideaki Date: Sun Mar 25 20:11:55 2007 -0700 [NET] 802: Use hton{s,l}() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 759e5d006462d53fb708daa8284b4ad909415da1 Author: Herbert Xu Date: Sun Mar 25 20:10:56 2007 -0700 [UDP]: Clean up UDP-Lite receive checksum This patch eliminates some duplicate code for the verification of receive checksums between UDP-Lite and UDP. It does this by introducing __skb_checksum_complete_head which is identical to __skb_checksum_complete_head apart from the fact that it takes a length parameter rather than computing the first skb->len bytes. As a result UDP-Lite will be able to use hardware checksum offload for packets which do not use partial coverage checksums. It also means that UDP-Lite loopback no longer does unnecessary checksum verification. If any NICs start support UDP-Lite this would also start working automatically. This patch removes the assumption that msg_flags has MSG_TRUNC clear upon entry in recvmsg. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1ab6eb62b02e0949a392fb19bf31ba59ae1022b1 Author: Herbert Xu Date: Tue Mar 6 20:29:58 2007 -0800 [UDP6]: Restore sk_filter optimisation This reverts the changeset [IPV6]: UDPv6 checksum. We always need to check UDPv6 checksum because it is mandatory. The sk_filter optimisation has nothing to do whether we verify the checksum. It simply postpones it to the point when the user calls recv or poll. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 243bbcaa09e8482aa28065cbc2eb99f0ca2fc8d6 Author: Eric Dumazet Date: Tue Mar 6 20:23:10 2007 -0800 [IPV4]: Optimize inet_getpeer() 1) Some sysctl vars are declared __read_mostly 2) We can avoid updating stack[] when doing an AVL lookup only. lookup() macro is extended to receive a second parameter, that may be NULL in case of a pure lookup (no need to save the AVL path). This removes unnecessary instructions, because compiler knows if this _stack parameter is NULL or not. text size of net/ipv4/inetpeer.o is 2063 bytes instead of 2107 on x86_64 Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 43e683926f808cec9802466c27cee7499eda3d11 Author: Stephen Hemminger Date: Tue Mar 6 20:21:20 2007 -0800 [TCP] TCP Yeah: cleanup Eliminate need for full 6/4/64 divide to compute queue. Variable maxqueue was really a constant. Fix indentation. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c5f5877c043ca471c3a607fa2c864848b19bc49a Author: Stephen Hemminger Date: Sun Mar 25 20:21:15 2007 -0700 [TCP] tcp_cubic: faster cube root The Newton-Raphson method is quadratically convergent so only a small fixed number of steps are necessary. Therefore it is faster to unroll the loop. Since div64_64 is no longer inline it won't cause code explosion. Also fixes a bug that can occur if x^2 was bigger than 32 bits. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8570419fb7be0af84085ac8f13307392a748482c Author: YOSHIFUJI Hideaki Date: Tue Mar 6 20:19:26 2007 -0800 [ATM] ENI: Convert to struct timeval to ktime_t. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit fc910a27839584209726537698b596576940add4 Author: David S. Miller Date: Sun Mar 25 20:27:59 2007 -0700 [NETLINK]: Limit NLMSG_GOODSIZE to 8K. Signed-off-by: David S. Miller commit ca043569390c528de4cd5ec9e07502f2bf4ecd1f Author: YOSHIFUJI Hideaki Date: Wed Feb 28 23:13:20 2007 +0900 [IPV6] ADDRCONF: Fix possible inet6_ifaddr leakage with CONFIG_OPTIMISTIC_DAD. The inet6_ifaddr for source address of RS is leaked if the address is not an optimistic address. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 95c385b4d5a71b8ad552aecaa968ea46d7da2f6a Author: Neil Horman Date: Wed Apr 25 17:08:10 2007 -0700 [IPV6] ADDRCONF: Optimistic Duplicate Address Detection (RFC 4429) Support. Nominally an autoconfigured IPv6 address is added to an interface in the Tentative state (as per RFC 2462). Addresses in this state remain in this state while the Duplicate Address Detection process operates on them to determine their uniqueness on the network. During this period, these tentative addresses may not be used for communication, increasing the time before a node may be able to communicate on a network. Using Optimistic Duplicate Address Detection, autoconfigured addresses may be used immediately for communication on the network, as long as certain rules are followed to avoid conflicts with other nodes during the Duplicate Address Detection process. Signed-off-by: Neil Horman Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 502b093569e48db264831be7966e1c447de2f52f Author: Yasuyuki Kozakai Date: Thu Nov 30 14:43:28 2006 +0900 [IPV6] IP6TUNNEL: Enable to control the handled inner protocol. ip6_tunnel before supporting IPv4/IPv6 tunnel allows only IPPROTO_IPV6 in configurations from userland. This allows userland to set IPPROTO_IPIP and 0(wildcard). ip6_tunnel only handles allowed inner protocols. Signed-off-by: Yasuyuki Kozakai Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 3144581cb0b4b1ef897470195128cc1c8dc037b6 Author: Yasuyuki Kozakai Date: Sat Feb 10 00:30:33 2007 +0900 [IPV6] IP6TUNNEL: Rename functions ip6ip6_* to ip6_tnl_*. Signed-off-by: Yasuyuki Kozakai Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c4d3efafcc933fd2ffd169d7dc4f980393a13796 Author: Yasuyuki Kozakai Date: Thu Feb 15 00:43:16 2007 +0900 [IPV6] IP6TUNNEL: Add support to IPv4 over IPv6 tunnel. Some notes - Protocol number IPPROTO_IPIP is used for IPv4 over IPv6 packets. - If IP6_TNL_F_USE_ORIG_TCLASS is set, TOS in IPv4 header is copied to Traffic Class in outer IPv6 header on xmit. - IP6_TNL_F_USE_ORIG_FLOWLABEL is ignored on xmit of IPv4 packets, because IPv4 header does not have flow label. - Kernel sends ICMP error if IPv4 packet is too big on xmit, even if DF flag is not set. Signed-off-by: Yasuyuki Kozakai Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 61ec2aec28ba8de09f76a558a5d6d3893b1d2e47 Author: Yasuyuki Kozakai Date: Sun Nov 5 22:56:45 2006 +0900 [IPV6] IP6TUNNEL: Split out generic routine in ip6ip6_xmit(). This enables to add IPv4/IPv6 specific handling later, Signed-off-by: Yasuyuki Kozakai Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 8359925be8bb5960f614e3f25454f3ef7cc9df65 Author: Yasuyuki Kozakai Date: Fri Nov 3 09:39:14 2006 +0900 [IPV6] IP6TUNNEL: Split out generic routine in ip6ip6_rcv(). This enables to add IPv4/IPv6 specific handling later, Signed-off-by: Yasuyuki Kozakai Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e490d1d85cf5e191791979e5f260d32eb4f703a8 Author: Yasuyuki Kozakai Date: Tue Oct 31 23:11:25 2006 +0900 [IPV6] IP6TUNNEL: Split out generic routine in ip6ip6_err(). This enables to add IPv4/IPv6 specific error handling later, Signed-off-by: Yasuyuki Kozakai Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 7159039a128fa0a73ca7b532f6e1d30d9885277f Author: YOSHIFUJI Hideaki Date: Thu Feb 22 22:05:40 2007 +0900 [IPV6]: Decentralize EXPORT_SYMBOLs. Signed-off-by: YOSHIFUJI Hideaki commit b558ff799977a4eda8b3823d1cf6c1c33becb671 Author: David S. Miller Date: Tue Mar 6 17:02:35 2007 -0800 [NETLINK]: Mirror UDP MSG_TRUNC semantics. If the user passes MSG_TRUNC in via msg_flags, return the full packet size not the truncated size. Idea from Herbert Xu and Thomas Graf. Signed-off-by: David S. Miller commit b7aa0bf70c4afb9e38be25f5c0922498d0f8684c Author: Eric Dumazet Date: Thu Apr 19 16:16:32 2007 -0700 [NET]: convert network timestamps to ktime_t We currently use a special structure (struct skb_timeval) and plain 'struct timeval' to store packet timestamps in sk_buffs and struct sock. This has some drawbacks : - Fixed resolution of micro second. - Waste of space on 64bit platforms where sizeof(struct timeval)=16 I suggest using ktime_t that is a nice abstraction of high resolution time services, currently capable of nanosecond resolution. As sizeof(ktime_t) is 8 bytes, using ktime_t in 'struct sock' permits a 8 byte shrink of this structure on 64bit architectures. Some other structures also benefit from this size reduction (struct ipq in ipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...) Once this ktime infrastructure adopted, we can more easily provide nanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or SO_TIMESTAMPNS/SCM_TIMESTAMPNS) Note : this patch includes a bug correction in compat_sock_get_timestamp() where a "err = 0;" was missing (so this syscall returned -ENOENT instead of 0) Signed-off-by: Eric Dumazet CC: Stephen Hemminger CC: John find Signed-off-by: David S. Miller commit 3927f2e8f9afa3424bb51ca81f7abac01ffd0005 Author: Stephen Hemminger Date: Sun Mar 25 19:54:23 2007 -0700 [NET]: div64_64 consolidate (rev3) Here is the current version of the 64 bit divide common code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9d729f72dca9406025bcfa9c1f660d71d9ef0ff5 Author: James Morris Date: Sun Mar 4 16:12:44 2007 -0800 [NET]: Convert xtime.tv_sec to get_seconds() Where appropriate, convert references to xtime.tv_sec to the get_seconds() helper function. Signed-off-by: James Morris Signed-off-by: David S. Miller commit 39df232f1a9ba48d41c68ee7d4046756e709cf91 Author: Stephen Hemminger Date: Sun Mar 4 16:11:51 2007 -0800 [PKTGEN]: fix device name handling Since devices can change name and other wierdness, don't hold onto a copy of device name, instead use pointer to output device. Fix a couple of leaks in error handling path as well. Signed-off-by: Stephen Hemminger Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit d5f1ce9a5e80fb315c86b036a89b1237fdf11938 Author: Stephen Hemminger Date: Sun Mar 4 16:08:08 2007 -0800 [PKTGEN]: don't use __constant_htonl() The existing htonl() macro is smart enough to do the same code as using __constant_htonl() and it looks cleaner. Signed-off-by: Stephen Hemminger Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 5fa6fc76f55c5c42fff52ae1d57a685b9373fcdc Author: Stephen Hemminger Date: Sun Mar 4 16:07:28 2007 -0800 [PKTGEN]: use random32 Can use random32() now. Signed-off-by: Stephen Hemminger Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 25c4e53a4c9bfe45be52821f54ec5ce957519db2 Author: Stephen Hemminger Date: Sun Mar 4 16:06:47 2007 -0800 [PKTGEN]: use pr_debug Remove private debug macro and replace with standard version Signed-off-by: Stephen Hemminger Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit fa438ccfdfd3f6db02c13b61b21454eb81cd6a13 Author: Eric Dumazet Date: Sun Mar 4 16:05:44 2007 -0800 [NET]: Keep sk_backlog near sk_lock sk_backlog is a critical field of struct sock. (known famous words) It is (ab)used in hot paths, in particular in release_sock(), tcp_recvmsg(), tcp_v4_rcv(), sk_receive_skb(). It really makes sense to place it next to sk_lock, because sk_backlog is only used after sk_lock locked (and thus memory cache line in L1 cache). This should reduce cache misses and sk_lock acquisition time. (In theory, we could only move the head pointer near sk_lock, and leaving tail far away, because 'tail' is normally not so hot, but keep it simple :) ) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e317f6f69cb95527799d308a9421b7dc1252989a Author: Ilpo Järvinen Date: Fri Mar 2 13:34:19 2007 -0800 [TCP]: FRTO undo response falls back to ratehalving one if ECEd Undoing ssthresh is disabled in fastretrans_alert whenever FLAG_ECE is set by clearing prior_ssthresh. The clearing does not protect FRTO because FRTO operates before fastretrans_alert. Moving the clearing of prior_ssthresh earlier seems to be a suboptimal solution to the FRTO case because then FLAG_ECE will cause a second ssthresh reduction in try_to_open (the first occurred when FRTO was entered). So instead, FRTO falls back immediately to the rate halving response, which switches TCP to CA_CWR state preventing the latter reduction of ssthresh. If the first ECE arrived before the ACK after which FRTO is able to decide RTO as spurious, prior_ssthresh is already cleared. Thus no undoing for ssthresh occurs. Besides, FLAG_ECE should be set also in the following ACKs resulting in rate halving response that sees TCP is already in CA_CWR, which again prevents an extra ssthresh reduction on that round-trip. If the first ECE arrived before RTO, ssthresh has already been adapted and prior_ssthresh remains cleared on entry because TCP is in CA_CWR (the same applies also to a case where FRTO is entered more than once and ECE comes in the middle). High_seq must not be touched after tcp_enter_cwr because CWR round-trip calculation depends on it. I believe that after this patch, FRTO should be ECN-safe and even able to take advantage of synergy benefits. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e01f9d7793be82e6c252efbd52c399d3eb65abe4 Author: Ilpo Järvinen Date: Fri Mar 2 13:27:25 2007 -0800 [TCP]: Complete icsk-to-local-variable change (in tcp_enter_cwr) A local variable for icsk was created but this change was missing. Spotted by Jarek Poplawski. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 89808060b7a71376cc2ba8092d43b2010da465b6 Author: Ilpo Järvinen Date: Tue Feb 27 10:10:55 2007 -0800 [TCP] Sysctl documentation: tcp_frto_response In addition, fixed minor things in tcp_frto sysctl. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3cfe3baaf07c9e40a75f9a70662de56df1c246a8 Author: Ilpo Järvinen Date: Tue Feb 27 10:09:49 2007 -0800 [TCP]: Add two new spurious RTO responses to FRTO New sysctl tcp_frto_response is added to select amongst these responses: - Rate halving based; reuses CA_CWR state (default) - Very conservative; used to be the only one available (=1) - Undo cwr; undoes ssthresh and cwnd reductions (=2) The response with rate halving requires a new parameter to tcp_enter_cwr because FRTO has already reduced ssthresh and doing a second reduction there has to be prevented. In addition, to keep things nice on 80 cols screen, a local variable was added. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c5e7af0df5d7234afd8596560d9f570cfc6c18bf Author: Ilpo Järvinen Date: Fri Feb 23 16:22:06 2007 -0800 [TCP]: Correct reordering detection change (no FRTO case) The reordering detection must work also when FRTO has not been used at all which was the original intention of mine, just the expression of the idea was flawed. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit e0ef57cc56c3c96493f9b0d6c77bb9608eeaa173 Author: David S. Miller Date: Thu Feb 22 22:52:59 2007 -0800 [TCP]: Make snd_cwnd_clamp a u32. Signed-off-by: David S. Miller commit 54287cc178cf85dbae0decec8b4dc190bff757ad Author: Eric Dumazet Date: Thu Feb 22 03:20:44 2007 -0800 [TCP]: Keep copied_seq, rcv_wup and rcv_next together. I noticed in oprofile study a cache miss in tcp_rcv_established() to read copied_seq. ffffffff80400a80 : /* tcp_rcv_established total: 4034293   2.0400 */  55493  0.0281 :ffffffff80400bc9:   mov    0x4c8(%r12),%eax copied_seq 543103  0.2746 :ffffffff80400bd1:   cmp    0x3e0(%r12),%eax   rcv_nxt     if (tp->copied_seq == tp->rcv_nxt &&         len - tcp_header_len <= tp->ucopy.len) { In this function, the cache line 0x4c0 -> 0x500 is used only for this reading 'copied_seq' field. rcv_wup and copied_seq should be next to rcv_nxt field, to lower number of active cache lines in hot paths. (tcp_rcv_established(), tcp_poll(), ...) As you suggested, I changed tcp_create_openreq_child() so that these fields are changed together, to avoid adding a new store buffer stall. Patch is 64bit friendly (no new hole because of alignment constraints) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit cf4c6bf83d0fa070f60b1ba8124dfe0e65fbfbcc Author: Ilpo Järvinen Date: Thu Feb 22 01:13:58 2007 -0800 [TCP]: struct *sock argument renamed: sp -> sk In general, TCP code uses "sk" for struct sock pointer. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 886236c1247ab5e2ad9c73f6e9a652e3ae3c8b07 Author: John Heffner Date: Sun Mar 25 19:21:45 2007 -0700 [TCP]: Add RFC3742 Limited Slow-Start, controlled by variable sysctl_tcp_max_ssthresh. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit 5ef814753eb810d900fbd77af7c87f6d04f0e551 Author: Angelo P. Castellani Date: Thu Feb 22 00:23:05 2007 -0800 [TCP] YeAH-TCP: algorithm implementation YeAH-TCP is a sender-side high-speed enabled TCP congestion control algorithm, which uses a mixed loss/delay approach to compute the congestion window. It's design goals target high efficiency, internal, RTT and Reno fairness, resilience to link loss while keeping network elements load as low as possible. For further details look here: http://wil.cs.caltech.edu/pfldnet2007/paper/YeAH_TCP.pdf Signed-off-by: Angelo P. Castellani Signed-off-by: David S. Miller commit 127af0c44fc916908abd145914d65b9fe598bcd7 Author: Ilpo Järvinen Date: Wed Feb 21 23:16:38 2007 -0800 [TCP] FRTO: Sysctl documentation for SACK enhanced version The description is overly verbose to avoid ambiguity between "SACK enabled" and "SACK enhanced FRTO" Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4dc2665e3634d720a62bd27128fc8781fcdad2dc Author: Ilpo Järvinen Date: Wed Feb 21 23:16:11 2007 -0800 [TCP]: SACK enhanced FRTO Implements the SACK-enhanced FRTO given in RFC4138 using the variant given in Appendix B. RFC4138, Appendix B: "This means that in order to declare timeout spurious, the TCP sender must receive an acknowledgment for non-retransmitted segment between SND.UNA and RecoveryPoint in algorithm step 3. RecoveryPoint is defined in conservative SACK-recovery algorithm [RFC3517]" The basic version of the FRTO algorithm can still be used also when SACK is enabled. To enabled SACK-enhanced version, tcp_frto sysctl is set to 2. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 288035f915686a9a9e85e0358c5392bb5d7ae58d Author: Ilpo Järvinen Date: Wed Feb 21 23:14:42 2007 -0800 [TCP]: Prevent reordering adjustments during FRTO To be honest, I'm not too sure how the reord stuff works in the first place but this seems necessary. When FRTO has been active, the one and only retransmission could be unnecessary but the state and sending order might not be what the sacktag code expects it to be (to work correctly). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 66e93e45c09affa407750cc06398492e8b897848 Author: Ilpo Järvinen Date: Wed Feb 21 23:13:47 2007 -0800 [TCP] FRTO: Fake cwnd for ssthresh callback TCP without FRTO would be in Loss state with small cwnd. FRTO, however, leaves cwnd (typically) to a larger value which causes ssthresh to become too large in case RTO is triggered again compared to what conventional recovery would do. Because consecutive RTOs result in only a single ssthresh reduction, RTO+cumulative ACK+RTO pattern is required to trigger this event. A large comment is included for congestion control module writers trying to figure out what CA_EVENT_FRTO handler should do because there exists a remote possibility of incompatibility between FRTO and module defined ssthresh functions. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit d1a54c6a0a3f9c2c4ef71982d89b8571bd9eaa51 Author: Ilpo Järvinen Date: Wed Feb 21 23:11:57 2007 -0800 [TCP] FRTO: Reverse RETRANS bit clearing logic Previously RETRANS bits were cleared on the entry to FRTO. We postpone that into tcp_enter_frto_loss, which is really the place were the clearing should be done anyway. This allows simplification of the logic from a clearing loop to the head skb clearing only. Besides, the other changes made in the previous patches to tcp_use_frto made it impossible for the non-SACKed FRTO to be entered if other than the head has been rexmitted. With SACK-enhanced FRTO (and Appendix B), however, there can be a number retransmissions in flight when RTO expires (same thing could happen before this patchset also with non-SACK FRTO). To not introduce any jumpiness into the packet counting during FRTO, instead of clearing RETRANS bits from skbs during entry, do it later on. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 46d0de4ed92650b95f27acae09914996bbe624e7 Author: Ilpo Järvinen Date: Wed Feb 21 23:10:39 2007 -0800 [TCP] FRTO: Entry is allowed only during (New)Reno like recovery This interpretation comes from RFC4138: "If the sender implements some loss recovery algorithm other than Reno or NewReno [FHG04], the F-RTO algorithm SHOULD NOT be entered when earlier fast recovery is underway." I think the RFC means to say (especially in the light of Appendix B) that ...recovery is underway (not just fast recovery) or was underway when it was interrupted by an earlier (F-)RTO that hasn't yet been resolved (snd_una has not advanced enough). Thus, my interpretation is that whenever TCP has ever retransmitted other than head, basic version cannot be used because then the order assumptions which are used as FRTO basis do not hold. NewReno has only the head segment retransmitted at a time. Therefore, walk up to the segment that has not been SACKed, if that segment is not retransmitted nor anything before it, we know for sure, that nothing after the non-SACKed segment should be either. This assumption is valid because TCPCB_EVER_RETRANS does not leave holes but each non-SACKed segment is rexmitted in-order. Check for retrans_out > 1 avoids more expensive walk through the skb list, as we can know the result beforehand: F-RTO will not be allowed. SACKed skb can turn into non-SACked only in the extremely rare case of SACK reneging, in this case we might fail to detect retransmissions if there were them for any other than head. To get rid of that feature, whole rexmit queue would have to be walked (always) or FRTO should be prevented when SACK reneging happens. Of course RTO should still trigger after reneging which makes this issue even less likely to show up. And as long as the response is as conservative as it's now, nothing bad happens even then. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7c9a4a5b67926dd186d427bc5b9fce6ccbde154c Author: Ilpo Järvinen Date: Wed Feb 21 23:08:34 2007 -0800 [TCP]: Prevent unrelated cwnd adjustment while using FRTO FRTO controls cwnd when it still processes the ACK input or it has just reverted back to conventional RTO recovery; the normal rules apply when FRTO has reverted to standard congestion control. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 94d0ea7786714d78d7cb73144bb850254dd0bb78 Author: Ilpo Järvinen Date: Wed Feb 21 23:07:27 2007 -0800 [TCP] FRTO: frto_counter modulo-op converted to two assignments Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 52c63f1e86ebb18ef4b710b5b647e552a041e5ca Author: Ilpo Järvinen Date: Wed Feb 21 23:06:52 2007 -0800 [TCP]: Don't enter to fast recovery while using FRTO Because TCP is not in Loss state during FRTO recovery, fast recovery could be triggered by accident. Non-SACK FRTO is more robust than not yet included SACK-enhanced version (that can receiver high number of duplicate ACKs with SACK blocks during FRTO), at least with unidirectional transfers, but under extraordinary patterns fast recovery can be incorrectly triggered, e.g., Data loss+ACK losses => cumulative ACK with enough SACK blocks to meet sacked_out >= dupthresh condition). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit aa8b6a7ad147dfbaaf10368ff15df9418b670d8b Author: Ilpo Järvinen Date: Wed Feb 21 23:06:03 2007 -0800 [TCP] FRTO: Response should reset also snd_cwnd_cnt Since purpose is to reduce CWND, we prevent immediate growth. This is not a major issue nor is "the correct way" specified anywhere. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 95c4922bf9330eb2c71b752359dd89c4e166f3c5 Author: Ilpo Järvinen Date: Wed Feb 21 23:05:18 2007 -0800 [TCP] FRTO: fixes fallback to conventional recovery The FRTO detection did not care how ACK pattern affects to cwnd calculation of the conventional recovery. This caused incorrect setting of cwnd when the fallback becames necessary. The knowledge tcp_process_frto() has about the incoming ACK is now passed on to tcp_enter_frto_loss() in allowed_segments parameter that gives the number of segments that must be added to packets-in-flight while calculating the new cwnd. Instead of snd_una we use FLAG_DATA_ACKED in duplicate ACK detection because RFC4138 states (in Section 2.2): If the first acknowledgment after the RTO retransmission does not acknowledge all of the data that was retransmitted in step 1, the TCP sender reverts to the conventional RTO recovery. Otherwise, a malicious receiver acknowledging partial segments could cause the sender to declare the timeout spurious in a case where data was lost. If the next ACK after RTO is duplicate, we do not retransmit anything, which is equal to what conservative conventional recovery does in such case. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 6408d206c7484615ecae54bf6474a02c94e9e862 Author: Ilpo Järvinen Date: Wed Feb 21 23:04:11 2007 -0800 [TCP] FRTO: Ignore some uninteresting ACKs Handles RFC4138 shortcoming (in step 2); it should also have case c) which ignores ACKs that are not duplicates nor advance window (opposite dir data, winupdate). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7b0eb22b1d3b049306813a4aaa52966650f7491c Author: Ilpo Järvinen Date: Wed Feb 21 23:03:35 2007 -0800 [TCP] FRTO: Use Disorder state during operation instead of Open Retransmission counter assumptions are to be changed. Forcing reason to do this exist: Using sysctl in check would be racy as soon as FRTO starts to ignore some ACKs (doing that in the following patches). Userspace may disable it at any moment giving nice oops if timing is right. frto_counter would be inaccessible from userspace, but with SACK enhanced FRTO retrans_out can include other than head, and possibly leaving it non-zero after spurious RTO, boom again. Luckily, solution seems rather simple: never go directly to Open state but use Disorder instead. This does not really change much, since TCP could anyway change its state to Disorder during FRTO using path tcp_fastretrans_alert -> tcp_try_to_open (e.g., when a SACK block makes ACK dubious). Besides, Disorder seems to be the state where TCP should be if not recovering (in Recovery or Loss state) while having some retransmissions in-flight (see tcp_try_to_open), which is exactly what happens with FRTO. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7487c48c4fd15d1e2542be1183b783562cfe10bc Author: Ilpo Järvinen Date: Wed Feb 21 23:02:30 2007 -0800 [TCP] FRTO: Consecutive RTOs keep prior_ssthresh and ssthresh In case a latency spike causes more than one RTO, the later should not cause the already reduced ssthresh to propagate into the prior_ssthresh since FRTO declares all such RTOs spurious at once or none of them. In treating of ssthresh, we mimic what tcp_enter_loss() does. The previous state (in frto_counter) must be available until we have checked it in tcp_enter_frto(), and also ACK information flag in process_frto(). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 30935cf4f915c3178ce63331d6ff4c82163e26af Author: Ilpo Järvinen Date: Wed Feb 21 23:01:36 2007 -0800 [TCP] FRTO: Comment cleanup & improvement Moved comments out from the body of process_frto() to the head (preferred way; see Documentation/CodingStyle). Bonus: it's much easier to read in this compacted form. FRTO algorithm and implementation is described in greater detail. For interested reader, more information is available in RFC4138. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit bdaae17da81db79b9aa4dfbf43305cfeef64f6a8 Author: Ilpo Järvinen Date: Wed Feb 21 22:59:58 2007 -0800 [TCP] FRTO: Moved tcp_use_frto from tcp.h to tcp_input.c In addition, removed inline. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9ead9a1d385ae2c52a6dcf2828d84ce66be04fc2 Author: Ilpo Järvinen Date: Wed Feb 21 22:56:19 2007 -0800 [TCP] FRTO: Separated response from FRTO detection algorithm FRTO spurious RTO detection algorithm (RFC4138) does not include response to a detected spurious RTO but can use different response algorithms. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 522e7548a9bd40305df41c0beae69448b7620d6b Author: Ilpo Järvinen Date: Wed Feb 21 22:54:52 2007 -0800 [TCP] FRTO: Incorrectly clears TCPCB_EVER_RETRANS bit FRTO was slightly too brave... Should only clear TCPCB_SACKED_RETRANS bit. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit afd3810d9b6b0d446a34e1d4e94f0cc020b00a14 Author: Zachary Amsden Date: Wed Apr 25 15:32:23 2007 -0400 ACPI: Remove a warning about unused variable in !CONFIG_ACPI compilation. Signed-off-by: Zachary Amsden Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit b2983f10f87423fab92326bbe1e92e2256573d4f Author: Thierry Vignaud Date: Wed Apr 25 15:31:30 2007 -0400 ACPI: prevent ACPI quirk warning mass spamming in logs The following patch prevent this warning to be displayed again & again (eg: nine times on my NForce2 motherboard) and thus improve signal to noise ratio in logs. The ATI quirk below probably needs a similar "fix" but I don't have the hardware to test. Btw arch/x86_64/kernel/early-quirks.c::nvidia_bugs() would probably need to be synced (but I don't have an x86_64 NVidia motherboard to boot test it). Still it shows the usefullity of the recent x86 merge thread. [akpm@linux-foundation.org: cleanup] Signed-off-by: Thierry Vignaud Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8aa55591bfea25c441117e82711cbfd7c274250a Author: David Brownell Date: Wed Apr 25 15:20:10 2007 -0400 ACPI: make /proc/acpi/wakeup more useful This updates /proc/acpi/wakeup to be more informative, primarily by showing the sysfs node associated with each wakeup-enabled device. Example: Device S-state Status Sysfs node PCI0 S4 disabled no-bus:pci0000:00 PS2M S4 disabled pnp:00:05 PS2K S4 disabled pnp:00:06 UAR1 S4 disabled pnp:00:08 USB1 S3 disabled pci:0000:00:03.0 USB2 S3 disabled pci:0000:00:03.1 USB3 S3 disabled USB4 S3 disabled pci:0000:00:03.3 S139 S4 disabled LAN S4 disabled pci:0000:00:04.0 MDM S4 disabled AUD S4 disabled pci:0000:00:02.7 SLPB S4 *enabled Eventually this file should be removed, but until then it's almost the only way we have to tell how the relevant ACPI tables are broken (and cope). In that example, two devices don't actually exist (USB3, S139), one can't issue wakeup events (PCI0), and two seem harmlessly (?) confused (MDM and AUD are the same PCI device, but it's the _modem_ that does wake-on-ring). In particular, we need to be sure driver model nodes are properly hooked up before we can get rid of this ACPI-only interface for wakeup events. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit cf6c6045a06aed2ccd8ebd0a3128ce0f2f8a11aa Author: Borislav Petkov Date: Wed Apr 25 14:29:50 2007 -0400 ACPI: word-smith kconfig help Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8ce8e2f99a973c39c4aeddbe0966038196a8e71a Author: Daniel Walker Date: Wed Apr 25 14:27:06 2007 -0400 ACPI: correct pathname in comment Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 0c0e8921018dbb4fe189a1034f80ac32553bc7bc Author: Bjorn Helgaas Date: Wed Apr 25 14:20:58 2007 -0400 ACPI: use _STA bit names rather than 0x0F Be explicit about what "device->status = 0x0F" really means. syntax only. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a0bd4ac498acfe60f7533d15ba60d5efdd4e9ca5 Author: Bjorn Helgaas Date: Wed Apr 25 14:17:39 2007 -0400 ACPI: Remove duplicate definitions for _STA bits No need to duplicate the existing definitions in include/acpi/actypes.h. syntax only -- no functional change. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit d8938801d10945ac2fbe0f41ded43f6276660a17 Author: Ray Lee Date: Wed Apr 25 14:12:00 2007 -0400 ACPI: remove duplicate include Thomas's patch for including for x86 UP builds came into Linus's tree from two different directions, both of which were merged. This reverts the latter, yanking out the duplicate #include and comment. Signed-off-by: Ray Lee Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 61c4b23770d1b0cef7c06a23378ab544eb0c64b4 Author: David Woodhouse Date: Wed Apr 25 17:04:23 2007 +0100 [JFFS2] Handle inodes with only a single metadata node with non-zero isize This should never happen unless there's corruption on the medium and the actual data nodes go missing. But the failure mode (an oops when we assume the fragtree isn't empty and go looking for its last node) isn't useful. Signed-off-by: David Woodhouse commit c00c310eac04a28d2143368ae988716792ed53ce Author: David Woodhouse Date: Wed Apr 25 14:16:47 2007 +0100 [JFFS2] Tidy up licensing/copyright boilerplate. In particular, remove the bit in the LICENCE file about contacting Red Hat for alternative arrangements. Their errant IS department broke that arrangement a long time ago -- the policy of collecting copyright assignments from contributors came to an end when the plug was pulled on the servers hosting the project, without notice or reason. We do still dual-license it for use with eCos, with the GPL+exception licence approved by the FSF as being GPL-compatible. It's just that nobody has the right to license it differently. Signed-off-by: David Woodhouse commit eaa33a9ac04cf5760cf4e661241db19f4151cf06 Author: vignesh Date: Wed Apr 25 12:13:48 2007 +0000 [CIFS] Replace kmalloc/memset combination with kzalloc Signed-off-by: Vignesh Babu Signed-off-by: Steve French commit 5858ae44e289ac6c809af3fe81b9a6ed41914d41 Author: Steve French Date: Wed Apr 25 11:59:10 2007 +0000 [CIFS] Add IPv6 support IPv6 support was started a few years ago in the cifs client, but lacked a kernel helper function for parsing the ascii form of the ipv6 address. Now that that is added (and now IPv6 is the default that some OS use now) it was fairly easy to finish the cifs ipv6 support. This requires that CIFS_EXPERIMENTAL be enabled and (at least until the mount.cifs module is modified to use a new ipv6 friendly call instead of gethostbyname) and the ipv6 address be passed on the mount as "ip=" mount option. Thanks Signed-off-by: Steve French commit cbac3cba66ab51492da53e7bf4f38da872408065 Author: Steve French Date: Wed Apr 25 11:46:06 2007 +0000 [CIFS] New CIFS POSIX mkdir performance improvement (part 2) Fix incorrect parsing of return data Signed-off-by: Steve French commit c36c46d53b2f95bfcbe992cfb541a78ab92310a4 Author: Adrian Hunter Date: Fri Mar 23 17:16:22 2007 +0900 [MTD] [OneNAND] Exit loop only when column start with 0 The JFFS2 requests OOB function from column 0. But the oobtest in nand-tests doesn't. So we only exit loop only when column start with 0. Signed-off-by: Adrian Hunter Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit ad286343665cad2135792bcf53117d8344f64b03 Author: Kyungmin Park Date: Fri Mar 23 10:19:52 2007 +0900 [MTD] [OneNAND] Fix access the past of the real oobfree array Here it's not the case: all the entries are occupied by OOB chunks. Therefore, once we get into a loop like for (free = this->ecclayout->oobfree; free->length; ++free) { } we might end up scanning past the real oobfree array. Probably the best way out, as the same thing might happen for common NAND as well, is to check index against MTD_MAX_OOBFREE_ENTRIES. Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit c19df27ec7f8b184db867c4490d87f997fdc6e4e Author: Kyungmin Park Date: Wed Apr 25 11:05:48 2007 +0100 [MTD] [OneNAND] Update Samsung OneNAND official URL Update Samsung OneNAND official URL. Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 7d5a015eece8be9186d3613d595643a520555e33 Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:20 2007 -0300 ACPI: thinkpad-acpi: update brightness sysfs interface support Update the brightness sysfs interface (done through the backlight class) to be in line with the rest of the thinkpad-acpi driver. This renames the incorrect, un-obvious, and clash-prone name of "ibm" for the backlight device to a much more fitting and descriptive "thinkpad_screen". This is something I wanted to do for quite a while... Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b616004c70dd7f60a1477c3e9d6fddd00ee1fa37 Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:19 2007 -0300 ACPI: thinkpad-acpi: add sysfs support to the cmos command subdriver Add sysfs attributes to send ThinkPad CMOS commands. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit eaa7571b2d1a08873e4bdd8e6db3431df61cd9ad Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:18 2007 -0300 ACPI: thinkpad-acpi: add a safety net for TPEC fan control mode The Linux ThinkPad community is not positive that all ThinkPads that do HFSP EC fan control do implement full-speed and auto modes, some of the earlier ones supporting HFSP might not. If the EC ignores the AUTO or FULL-SPEED bits, it will pay attention to the lower three bits that set the fan level. And as thinkpad-acpi was leaving these set to zero, it would stop(!) the fan, which is Not A Good Thing. So, as a safety net, we now make sure to also set the fan level part of the HFSP register to speed 7 for full-speed, and a minimum of speed 4 for auto mode. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit fe98a52ce7540fb3a19d57488a08864110cf4d5c Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:17 2007 -0300 ACPI: thinkpad-acpi: add sysfs support to fan subdriver Export sysfs attributes to monitor and control the internal thinkpad fan (some thinkpads have more than one fan, but thinkpad-acpi doesn't support the second fan yet). The sysfs interface follows the hwmon design guide for fan devices. Also, fix some stray "thermal" files in the fan procfs description that have been there forever, and officially support "full-speed" as the name for the PWM-disabled state of the fan controller to keep it in line with the hwmon interface. It is much better a name for that mode than the unobvious "disengaged" anyway. Change the procfs interface to also accept full-speed as a fan level, but still report it as disengaged for backwards compatibility. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 2c37aa4e22dd55070c608290c5031f2ee93e69ce Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:16 2007 -0300 ACPI: thinkpad-acpi: add sysfs support to the thermal subdriver Export thinkpad thermal sensors to sysfs, following the hwmon specification for thermal monitoring sensors. ThinkPad thermal monitoring is done by the EC. Sensors can show up or disappear at runtime when they are inside hotswappable hardware, such as batteries. Sensors that are not available return -ENXIO when accessed. Up to 16 thermal sensors are supported on new firmware (but nobody has reported a ThinkPad with more than 12 sensors so far), and 8 sensors are supported on older firmware. Thermal sensor mapping is model-specific. Precision varies, it is 1 degree Celcius on new ThinkPads, but higher on some older models. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 40ca9fdf8aa7d929e2b8939be1e6380d107381e1 Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:15 2007 -0300 ACPI: thinkpad-acpi: protect fan and hotkey data structures Add proper mutex locking to some data structures access subject to races due to concurrent access of driver functions on the hotkey and fan subdrivers. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 7252374a39d794879f5e47bcfa0a16e7599b27b5 Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:14 2007 -0300 ACPI: thinkpad-acpi: add infrastructure for the sysfs device attributes Add infrastructure to deal with sysfs attributes and grouping, and helpers for common sysfs parsing. Switch driver attributes to use them. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 176750d68801bfa4a88d1cf54174aa0347d7e5d8 Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:13 2007 -0300 ACPI: thinkpad-acpi: driver sysfs conversion Add the sysfs attributes for the platform driver. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 54ae15014c306b3d7ad32c996fea9a5ac8560b60 Author: Henrique de Moraes Holschuh Date: Tue Apr 24 11:48:12 2007 -0300 ACPI: thinkpad-acpi: register with the device model Register thinkpad-acpi platform driver and platform device for the device model. Also register the platform device with the hwmon class. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit f989106cac719f8fe91da7734e73b3ca09146ecc Author: Zhang Rui Date: Tue Apr 24 13:53:22 2007 +0800 ACPI: Improve acpi debug documentation Now we use acpi.debug_level and acpi.debug_layer as kernel boot parameters instead of acpi_dbg_level and acpi_dbg_layer. Thanks to Andi Kleen for pointing it out. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit f8993aff8b4de0317c6e081802ca5c86c449fef2 Author: Shaohua Li Date: Wed Apr 25 11:05:12 2007 +0800 ACPI: Disable MSI on request of FADT The ACPI spec defines the bit and Microsoft uses it, so Linux must use it too. Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit 534565f254490227e3bec20d50f387800960acd9 Author: Dmitry Torokhov Date: Wed Apr 25 00:53:18 2007 -0400 Input: add input_set_capability() helper Add input_set_capability() helper used to indicate that an input device supports a certain event without need to manipulate bitmaps directly. Signed-off-by: Dmitry Torokhov commit b9973954c5f3264a2afa6ec357adb542f4b76e06 Author: Dmitry Torokhov Date: Wed Apr 25 00:40:53 2007 -0400 Input: i8042 - add Fujitsu touchscreen/touchpad PNP IDs Add PNP IDs for Fujitsu touchscreen/touchpad for AUX port detection to latch onto. Signed-off-by: Dmitry Torokhov commit cc8310e33b0439b43cdb19de55b2507cb27bd229 Author: Dmitry Torokhov Date: Wed Apr 25 00:40:32 2007 -0400 Input: i8042 - add Panasonic CF-29 to nomux list There is no data coming from touchscreen on Panasonic CF-29 notebook unless keyboard controller is in legacy mode. Signed-off-by: Dmitry Torokhov commit 2ebdcc615bde8317058d76ce1f24a67f59185884 Author: Dmitry Torokhov Date: Wed Apr 25 00:39:53 2007 -0400 Input: lifebook - split into 2 devices Have lifebook protocol register 2 separate input devices - one for the touchscreen reporting absolute coordinates and touches and another one for touchpad reporting relative coordinates and left and right button presses. Signed-off-by: Dmitry Torokhov commit 43887ba15a0c1e293be63793541fe444778c0474 Author: Dmitry Torokhov Date: Wed Apr 25 00:39:31 2007 -0400 Input: lifebook - add signature of Panasonic CF-29 Signed-off-by: Dmitry Torokhov commit 1912ffbb88efe872eb8fa8113dfb3cb0b7238764 Author: Joachim Fenkes Date: Mon Apr 23 18:20:27 2007 +0200 IB: Set class_dev->dev in core for nice device symlink All RDMA drivers except ehca set class_dev->dev to their dma_device value (ehca leaves this unset). dma_device is the only value that makes any sense, so move this assignment to core/sysfs.c. This reduce the duplicated code in the rest of the drivers and gives ehca a nice /sys/class/infiniband/ehcaX/device symlink. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit c4ed790dfd4b2182c76e0fcd79d4aa85ab02eccf Author: Joachim Fenkes Date: Tue Apr 24 17:44:31 2007 +0200 IB/ehca: Implement modify_port Add "Modify Port" verb support to eHCA driver. The IB communication manager needs this to set the IsCM port capability bit when initializing. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit bd8031b49a9b05933fb1ec1c36620ed4e1e67793 Author: Hal Rosenstock Date: Tue Apr 24 21:30:38 2007 -0700 IB/umad: Clarify documentation of transaction ID Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 37aebbde7023d75bf09fbadb6796276d0a65a068 Author: Roland Dreier Date: Tue Apr 24 21:30:37 2007 -0700 IPoIB/cm: spin_lock_irqsave() -> spin_lock_irq() replacements There are quite a few places in ipoib_cm.c where we know IRQs are enabled because we do something that sleeps in the same function, so we can convert several occurrences of spin_lock_irqsave() to a plain spin_lock_irq(). This cleans up the source a little and makes the code smaller too: add/remove: 0/0 grow/shrink: 1/5 up/down: 3/-51 (-48) function old new delta ipoib_cm_tx_reap 403 406 +3 ipoib_cm_stale_task 146 145 -1 ipoib_cm_dev_stop 173 172 -1 ipoib_cm_tx_handler 964 956 -8 ipoib_cm_rx_handler 956 937 -19 ipoib_cm_skb_reap 212 190 -22 Signed-off-by: Roland Dreier commit 0dec4c8bc6ed62a65b61594aa754e21270423796 Author: Joakim Tjernlund Date: Sat Mar 10 17:08:44 2007 +0100 [JFFS2] Better fix for all-zero node headers No need to check for all-zero header since the header cannot be zero due to other checks. Replace the all-zero header check in readinode.c with a check for the magic word. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit df8e96f39103adf5a13332d784040a2c62667243 Author: David Woodhouse Date: Wed Apr 25 03:23:42 2007 +0100 [JFFS2] Improve read_inode memory usage, v2. We originally used to read every node and allocate a jffs2_tmp_dnode_info structure for each, before processing them in (reverse) version order and discarding the ones which are obsoleted by later nodes. With huge logfiles, this behaviour caused memory problems. For example, a file involved in OLPC trac #1292 has 1822391 nodes, and would cause the XO machine to run out of memory during the first stage of read_inode(). Instead of just inserting nodes into a tree in version order as we find them, we now put them into a tree in order of their offset within the file, which allows us to immediately discard nodes which are completely obsoleted. We don't use a full tree with 'fragments' pointing to the real data structure, as we do in the normal fragtree. We sort only on the start address, and add an 'overlapped' flag to the tmp_dnode_info to indicate that the node in question is (partially) overlapped by another. When the scan is complete, we start at the end of the file, adding each node to a real fragtree as before. Where the node is non-overlapped, we just add it (it doesn't matter that it's not the latest version; there is no overlap). When the node at the end of the tree _is_ overlapped, we sort it and all its overlapping nodes into version order and then add them to the fragtree in that order. This 'early discard' reduces the peak allocation of tmp_dnode_info structures from 1.8M to a mere 62872 (3.5%) in the degenerate case referenced above. This version of the patch also correctly rememembers the highest node version# seen for an inode when it's scanned. Signed-off-by: David Woodhouse commit de493d47d8b4738827d8914a4dc94058c58f4249 Author: Hal Rosenstock Date: Mon Apr 2 11:24:07 2007 -0400 IB/mad: Change SMI to use enums rather than magic return codes Clarify code by changing return values from SMI functions to named enum values instead of magic 0/1 values. Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit aeba84a9251968a51fc6faae846518aac4e77565 Author: Sean Hefty Date: Thu Apr 5 11:49:21 2007 -0700 IB/umad: Implement GRH handling for sent/received MADs We need to set the SGID index for routed MADs and pass received GRH information to userspace when a MAD is received. Signed-off-by: Sean Hefty commit 46f1b3d7aff99ef4c1e729e023b9c8ee51de5973 Author: Sean Hefty Date: Thu Apr 5 11:50:11 2007 -0700 IB/ipoib: Use ib_init_ah_from_path to initialize ah_attr To support destinations that are not on the local IB subnet, IPoIB should include the GRH information when constructing an address handle. Using the existing ib_init_ah_from_path() call will do this for us. Signed-off-by: Sean Hefty commit d0e7bb141837db620f24406ca8b4667424138d42 Author: Sean Hefty Date: Thu Apr 5 10:51:10 2007 -0700 IB/sa: Set src_path_bits correctly in ib_init_ah_from_path() src_path_bits needs to mask off the base LID value. Signed-off-by: Sean Hefty commit 9d41b7fdeadb76bd4d06c16803daffd9fcf8dc7f Author: Sean Hefty Date: Thu Apr 5 10:51:05 2007 -0700 IB/ucm: Simplify ib_ucm_event() Use wait_event_interruptible() instead of a more complicated open-coded equivalent. Signed-off-by: Sean Hefty commit d92f76448c1a3e40ff3df96a653ecd83aeac6ee7 Author: Sean Hefty Date: Thu Apr 5 10:49:51 2007 -0700 RDMA/ucma: Simplify ucma_get_event() Use wait_event_interruptible() instead of a more complicated open-coded equivalent. Signed-off-by: Sean Hefty commit 30c00986f3a610cdcee2602b8254c3ffa6cddc04 Author: Roland Dreier Date: Tue Apr 24 16:31:11 2007 -0700 IB/mthca: Simplify CQ cleaning in mthca_free_qp() mthca_free_qp() already has local variables to hold the QP's send_cq and recv_cq, so we can slightly clean up the calls to mthca_cq_clean() by using those local variables instead of expressions like to_mcq(qp->ibqp.send_cq). Also, by cleaning the recv_cq first, we can avoid worrying about whether the QP is attached to an SRQ for the second call, because we would only clean send_cq if send_cq is not equal to recv_cq, and that means send_cq cannot have any receive completions from the QP being destroyed. All this work even improves the generated code a bit: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-5 (-5) function old new delta mthca_free_qp 510 505 -5 Signed-off-by: Roland Dreier commit 532c3b581725e2c6480a20c845fff920690286f1 Author: Roland Dreier Date: Tue Apr 24 16:31:04 2007 -0700 IB/mthca: Fix mthca_write_mtt() on HCAs with hidden memory Commit b2875d4c ("IB/mthca: Always fill MTTs from CPU") causes a crash in mthca_write_mtt() with non-memfree HCAs that have their memory hidden (that is, have only two PCI BARs instead of having a third BAR that allows access to the RAM attached to the HCA) on 64-bit architectures. This is because the commit just before, c20e20ab ("IB/mthca: Merge MR and FMR space on 64-bit systems") makes dev->mr_table.fmr_mtt_buddy equal to &dev->mr_table.mtt_buddy and hence mthca_write_mtt() tries to write directly into the HCA's MTT table. However, since that table is in the HCA's memory, this is impossible without the PCI BAR that gives access to that memory. This causes a crash because mthca_tavor_write_mtt_seg() basically tries to dereference some offset of a NULL pointer. Fix this by adding a test of MTHCA_FLAG_FMR in mthca_write_mtt() so that we always use the WRITE_MTT firmware command rather than writing directly if FMRs are not enabled. Signed-off-by: Roland Dreier commit c78f830547087aa4143affd3404a854995603544 Author: Alan Cox Date: Mon Apr 23 14:56:01 2007 +0100 [POWERPC] via-pmu: Switch to ref counting PCI API Signed-off-by: Alan Cox Signed-off-by: Paul Mackerras commit ab4627683a0e4430cb5acb1cd896f08ec5dad90c Author: Alan Cox Date: Mon Apr 23 14:47:59 2007 +0100 [POWERPC] pci_32.c: Switch to ref counting PCI API pci_find_slot isn't hot-plug safe. Move this code to the pci hotplug safe equivalent and hold a refcount properly while doing make_one_node_map. Signed-off-by: Alan Cox Signed-off-by: Paul Mackerras commit 37f01d64d83705f82bb06eac8134acc8ef665565 Author: David Gibson Date: Tue Apr 24 15:05:18 2007 +1000 [POWERPC] Abolish PHYS_FMT macro from arch/powerpc 32-bit powerpc systems define a macro, PHYS_FMT, giving a printf format string fragment for displaying physical addresses, since most 32-bit powerpc platforms use 32-bit physical addresses but a few use 64-bit physical addresses. This macro is used in exactly one place, a rare error message, where we can solve the problem more simply by just unconditionally casting the address up to 64-bit quantity before formatting it. This patch does so, meaning that as we bring MMU definitions from asm-ppc over to asm-powerpc, cleaning them up in the process, we don't need to implement this ugly macro (which additionally has a very bad name for something global). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 30686ba6d56858657829d3eb524ed73e5dc98d2b Author: Stephen Rothwell Date: Tue Apr 24 13:53:04 2007 +1000 [POWERPC] Remove old interface find_devices Replace uses with of_find_node_by_name and for_each_node_by_name. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1658ab66781d918f604c6069c5cf9a94b6f52f84 Author: Stephen Rothwell Date: Tue Apr 24 13:51:59 2007 +1000 [POWERPC] Remove old interface find_type_devices Replaced by of_find_node_by_type. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8c8dc322486d5394dc981bef9276dd0ce6c8d1ce Author: Stephen Rothwell Date: Tue Apr 24 13:50:55 2007 +1000 [POWERPC] Remove old interface find_path_device Replaced by of_find_node_by_path. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 112466b4d0036b3244509d01dbbf3c8caec52a23 Author: Stephen Rothwell Date: Tue Apr 24 13:49:47 2007 +1000 [POWERPC] Remove find_all_nodes This old interface has no more users. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4bf56e1725a298fb430977cf143ad3a36c91b46a Author: Stephen Rothwell Date: Tue Apr 24 13:48:41 2007 +1000 [POWERPC] Remove find_compatible_devices This is an old interface and is replaced by of_find_compatible_node. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 621023072524fc0155ed16490255e1ea3aa11585 Author: David Gibson Date: Tue Apr 24 13:09:12 2007 +1000 [POWERPC] Cleanup and fix breakage in tlbflush.h BenH's commit a741e67969577163a4cfc78d7fd2753219087ef1 in powerpc.git, although (AFAICT) only intended to affect ppc64, also has side-effects which break 44x. I think 40x, 8xx and Freescale Book E are also affected, though I haven't tested them. The problem lies in unconditionally removing flush_tlb_pending() from the versions of flush_tlb_mm(), flush_tlb_range() and flush_tlb_kernel_range() used on ppc64 - which are also used the embedded platforms mentioned above. The patch below cleans up the convoluted #ifdef logic in tlbflush.h, in the process restoring the necessary flushes for the software TLB platforms. There are three sets of definitions for the flushing hooks: the software TLB versions (revised to avoid using names which appear to related to TLB batching), the 32-bit hash based versions (external functions) amd the 64-bit hash based versions (which implement batching). It also moves the declaration of update_mmu_cache() to always be in tlbflush.h (previously it was in tlbflush.h except for PPC64, where it was in pgtable.h). Booted on Ebony (440GP) and compiled for 64-bit and 32-bit multiplatform. Signed-off-by: David Gibson Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 687304014f7ca8e2fbb3feaefef356b4a0da65ad Author: Olof Johansson Date: Tue Apr 24 01:11:55 2007 +1000 [POWERPC] Save trap number in bad_stack Save the trap number in the case of getting a bad stack in an exception handler. It is sometimes useful to know what exception it was that caused this to happen. Without this, no trap number is reported. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 6cfef5b27e49e826125f12637ee0d7210a896044 Author: Michael Ellerman Date: Mon Apr 23 18:47:08 2007 +1000 [POWERPC] Rename MPIC_BROKEN_U3 to MPIC_U3_HT_IRQS Rename MPIC_BROKEN_U3 to something a little more descriptive. Its effect is to enable support for HT irqs behind the PCI-X/HT bridge on U3/U4 (aka. CPC9x5) parts. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit e3f64788d32f97b31709a45911dabaa37f933359 Author: Grant Likely Date: Sun Apr 22 07:24:04 2007 +1000 [POWERPC] Fix comment typo in Kurobox device tree Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 4ca478e6066ce57f7cc856af36aaf1a2d64417cb Author: Geert Uytterhoeven Date: Wed Apr 18 19:24:12 2007 +1000 [POWERPC] bootwrapper: Use `unsigned long' for malloc sizes Use `unsigned long' for malloc sizes, to match common practice and types used by most callers and callees. Also use `unsigned long' for integers representing pointers in simple_alloc. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit e58923ed14370e0facc5eb2c3923216adc3bf260 Author: David Gibson Date: Wed Apr 18 16:36:26 2007 +1000 [POWERPC] Add arch/powerpc driver for UIC, PPC4xx interrupt controller This patch adds a driver to arch/powerpc/sysdev for the UIC, the on-chip interrupt controller from IBM/AMCC 4xx chips. It uses the new irq host mapping infrastructure. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit f65573314e4e2d7deacd7ed101c004148e156296 Author: David Gibson Date: Wed Apr 18 16:36:26 2007 +1000 [POWERPC] Re-organize Kconfig code for 4xx in arch/powerpc Now that we always take a device tree in arch/powerpc, there's no good reason not to allow a single kernel to support multiple embedded 4xx boards - the correct platform code can be selected based on the device tree information. Therefore, this patch re-arranges the 4xx Kconfig code to allow this. In addition we: - use "select" instead of depends to configure the correct config options for specific 4xx CPUs and workarounds, which makes the information about specific boards and CPUs less scattered. - Some old, unused (in arch/powerpc) config options are removed: WANT_EARLY_SERIAL, IBM_OCP, etc. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit e6349a958b3577da6e5c5eacda85c07f9a364cb5 Author: Ananth N Mavinakayanahalli Date: Wed Apr 18 15:57:51 2007 +1000 [POWERPC] kprobes: Eliminate sstep exception if instruction can be emulated For cases when probes are placed on instructions that can be emulated, don't take the single-step exception. Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Paul Mackerras commit 6888199f7fe5ea496f48bb6de67b9b7f05b8071b Author: Ananth N Mavinakayanahalli Date: Wed Apr 18 15:56:38 2007 +1000 [POWERPC] Emulate more instructions in software Emulate a few more instructions in software - especially useful during singlestepping (xmon/kprobes). Instructions emulated with this patch are mfcr/mtcr rX, mfxer/mtxer rX, mflr/mtlr rX, mfctr/mtctr rX and mr rA,rB. Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Paul Mackerras commit 5cc5133a29fab993f0b40c03e975bc5458ece507 Author: Scott Wood Date: Tue Apr 17 09:25:55 2007 +1000 [POWERPC] bootwrapper: cuboot for 83xx This adds cuboot support for MPC83xx platforms. A device tree used with this must have linux,stdout-path in /chosen and linux,network-index in any network device nodes that need mac addresses assigned. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 9b1c59e256e91aaf2a6543b32afc3658d8f96d4b Author: Scott Wood Date: Tue Apr 17 09:25:53 2007 +1000 [POWERPC] bootwrapper: Add ppcboot.h This file describes the bd_t struct, which is used by old versions of U-boot to pass information to the kernel. Platform code that needs to interoperate with such firmware can use this; it should not be used for anything new. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 0fdd717ed4d9c82f3f766007b3f5da656649f3aa Author: Scott Wood Date: Tue Apr 17 09:25:50 2007 +1000 [POWERPC] bootwrapper: Add a cuboot platform and a cuImage target The cuImage target will build a uImage with bootwrapper code and a device tree. The default device tree and platform file are determined by the kernel configuration. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 270429baa928fa6beff4042a7701944e23396417 Author: Scott Wood Date: Tue Apr 17 09:24:51 2007 +1000 [POWERPC] bootwrapper: Add CONFIG_DEVICE_TREE This provides a way to tell the bootwrapper makefile which device tree to include by default. The wrapper can still be invoked standalone to wrap with a different device tree without reconfiguring the kernel, if that is desired. The user will only be asked to provide a device tree if the platform selects CONFIG_WANT_DEVICE_TREE. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit b97d27914354619ec6883ffe08dbd9c8e4b826b7 Author: Olof Johansson Date: Wed Apr 18 16:39:54 2007 +1000 [POWERPC] pasemi: GPIO MDIO of_platform driver MDIO driver for PHY's connected via GPIO as on the PA Semi Electra eval board. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 25fc530eed1ca9ccde2a1e96d0b2060867f76bb2 Author: Olof Johansson Date: Wed Apr 18 16:38:21 2007 +1000 [POWERPC] pasemi: PA6T oprofile support Oprofile support for PA6T, kernel side. Also rename the PA6T_SPRN.* defines to SPRN_PA6T.*. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 7e8bddf56661a16b7d5945390a37cd2e9c5e45fe Author: Olof Johansson Date: Mon Apr 16 16:28:38 2007 +1000 [POWERPC] pasemi: Reset mpic on boot Reset MPIC on boot to clear some timer state that firmware might leave configured. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 62357d821550e253b53a6106e3e5dc946647fec4 Author: Olof Johansson Date: Mon Apr 16 16:27:45 2007 +1000 [POWERPC] pasemi: Enable one more hid bit Minor HID change. Firmware can't know that we want this set so we have to set it in the kernel. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit df7e70a2b0899845bb9a53548beeed05b9947705 Author: Olof Johansson Date: Mon Apr 16 16:26:34 2007 +1000 [POWERPC] pasemi: Allow 8KB config space for I/O bridge Device 0 function 0 on the root bus is really a two-function bus agent, but only the first function is visible. Because of this, we need to allow config accesses into the second range. Modify the check for valid offsets accordingly. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit a14c4508f4bb1bb7772b1976a82646be8d8b515a Author: Josh Boyer Date: Fri Apr 13 04:33:25 2007 +1000 [POWERPC] Fix PowerPC 750CL and 750GX CPU features PowerPC 750CL has high BATs. The patch below adds a CPU_FTRS_750CL that includes that. Without it, the original firmware mappings in the high BATs aren't cleared which continue to override the linux translations. It also adds CPU_FTR_COMMON to CPU_FTRS_750GX for completeness. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit c3ea6921a68ed4bdcfc782676c52707cbe347952 Author: will schmidt Date: Wed Apr 18 00:54:51 2007 +1000 [POWERPC] hvc_console: Typo fixes Fix a handful of comment typos for hvc_console. Signed-off-by: Will Schmidt Signed-off-by: Paul Mackerras commit b791072ba3c3b29bab1890963bde52eb944a8451 Author: Will Schmidt Date: Wed Apr 18 00:44:46 2007 +1000 [POWERPC] hvc_console: Polling mode timer backoff Add a back-off mechanism to hvc_console's polling logic. This change drops the timers/second ratio from ~90 to ~1/2 while the console is idle. This change is most noticeable when watching /proc/timer_stats output. This only affects when the hvc_console is running in poll mode, i.e. power4 and cell systems. I've tested on Power4, Michael Ellerman has both contributed to the patch and tested on cell. Signed-off-by: Will Schmidt Signed-off-by: Michael Ellerman Acked-by: Linas Vepstas Signed-off-by: Paul Mackerras commit b3a6d2a54b8be331b36d849577a716867895ca75 Author: Stephen Rothwell Date: Fri Apr 13 17:14:22 2007 +1000 [POWERPC] Rename last get_property calls These got added recently. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit edfedbf0cd0a57b16b638275e8fe8c369580b726 Author: Paul Mackerras Date: Tue Apr 24 13:57:12 2007 +1000 [POWERPC] Partially revert "Add correct interrupt property for pegasos ide" It turns out that commit e48059225c2edc6f1e5a2008261f1efdf606f247 breaks some existing systems that use the via82cxxx driver. This reverts the change to via82cxxx.c. Signed-off-by: Paul Mackerras commit b142eb3a5aa4f4779597b7a913c002287fa6ee08 Merge: 13177c8... c6d3448... Author: Paul Mackerras Date: Tue Apr 24 11:46:09 2007 +1000 Merge branch 'for-2.6.22' of master.kernel.org:/pub/scm/linux/kernel/git/arnd/cell-2.6 into for-2.6.22 commit 13177c8b7eaf7ab238e79533c746153ae116f5f8 Merge: 445c9b5... ccf17e9... Author: Paul Mackerras Date: Tue Apr 24 11:45:03 2007 +1000 Merge branch 'spufs' of master.kernel.org:/pub/scm/linux/kernel/git/arnd/cell-2.6 into for-2.6.22 commit 445c9b5507b9d09a2e9b0b4dbb16517708aa40e6 Merge: 390cbb5... 9875026... Author: Paul Mackerras Date: Tue Apr 24 08:42:11 2007 +1000 Merge branch 'kconfig' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into for-2.6.22 commit 2dd29d3133ad4c7926ea03b8431e604373c4ad65 Author: Steve French Date: Mon Apr 23 22:07:35 2007 +0000 [CIFS] New CIFS POSIX mkdir performance improvement Signed-off-by: Steve French commit c6d344819ea26c4df1cf2572232706667e1d99ea Author: Arnd Bergmann Date: Mon Apr 23 21:35:48 2007 +0200 [POWERPC] update cell_defconfig Sync with the Kconfig changes, and enable some options for celleb Cc: Ishizaki Kou Signed-off-by: Jens Osterkamp Signed-off-by: Arnd Bergmann commit 150f7e3cfec42a7d96ffda6f83881a7cee101c87 Author: Jeremy Kerr Date: Mon Apr 23 21:35:47 2007 +0200 [POWERPC] cell: enable RTAS-based PTCAL for Cell XDR memory Enable Periodic Recalibration (PTCAL) support for Cell XDR memory, using the new ibm,cbe-start-ptcal and ibm,cbe-stop-ptcal RTAS calls. Tested on QS20 and QS21 (by Thomas Huth). It seems that SLOF has problems disabling, at least on QS20; this patch should only be used once these problems have been addressed. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 9dd855a729abb4670522d5eae6854db48d624498 Author: Christian Krafft Date: Mon Apr 23 21:35:46 2007 +0200 [POWERPC] cell: add support for proper device-tree This patch adds support for a proper device-tree. A porper device-tree on cell contains be nodes for each CBE containg nodes for SPEs and all the other special devices on it. Ofcourse oldschool devicetree is still supported. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 6bf05fd776e38a0a9c17e17c2345b59b1b9aa2cb Author: Christian Krafft Date: Mon Apr 23 21:35:45 2007 +0200 [POWERPC] add of_iomap function The of_iomap function maps memory for a given device_node and returns a pointer to that memory. This is used at some places, so it makes sense to a seperate function. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 4a065f9418274f2d73066f1638b3612341e4f030 Author: Christian Krafft Date: Mon Apr 23 21:35:44 2007 +0200 [POWERPC] pmi probe device by device-type At the moment the pmi device driver is probing for devices with a given type and a given name. As there may be devices of the same type but with a different name, probing should be done also for device type only. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 79baf4a60e8aceb2b8a5bed8575885499cb21ce4 Author: Christian Krafft Date: Mon Apr 23 21:35:43 2007 +0200 [POWERPC] add check for initialized driver data to pmi driver This patch adds a check for the private driver data to be initialized. The bug showed up, as the caller found a pmi device by it's type. Whereas the pmi driver probes for the type and the name. Since the name was not as the driver expected, it did not initialize. A more relaxed probing will be supplied with an extra patch, too. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 5050063c0464663a0b0c3dc9fc5bc822aa74a1dd Author: Christian Krafft Date: Mon Apr 23 21:35:42 2007 +0200 [POWERPC] cell: use pmi in cpufreq driver The new PMI driver was added in order to support cpufreq on blades that require the frequency to be controlled by the service processor, so use it on those. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 5f7bdaee2aaf7dfdf18c735dee62401fd26c8d72 Author: Christian Krafft Date: Mon Apr 23 21:35:41 2007 +0200 [POWERPC] cbe_thermal: add throttling attributes to cpu and spu nodes This patch adds some attributes the cpu and spu nodes: /sys/devices/system/[c|s]pu/[c|s]pu*/thermal/throttle_begin /sys/devices/system/[c|s]pu/[c|s]pu*/thermal/throttle_end /sys/devices/system/[c|s]pu/[c|s]pu*/thermal/throttle_full_stop Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 24d560d7b9cf90451c6ef6248c09fb4cee1c76e6 Author: Christian Krafft Date: Mon Apr 23 21:35:40 2007 +0200 [POWERPC] cbe_thermal: clean up computation of temperature This patch introduces a little function for transforming register values into temperature. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit 91a69c9646a5b709381d99a171890e77377b1b9c Author: Christian Krafft Date: Mon Apr 23 21:35:39 2007 +0200 [POWERPC] cell: add cbe_node_to_cpu function This patch adds code to deal with conversion of logical cpu to cbe nodes. It removes code that assummed there were two logical CPUs per CBE. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit ccf17e9d008dfebbf90dfa4ee1a56e81c784c73e Author: Jeremy Kerr Date: Mon Apr 23 21:08:29 2007 +0200 [POWERPC] spu_base: fix initialisation on systems with no SPEs This change fixes the case where spu_base and spufs are initialised on a system with no SPEs - unconditionally create the spu_lists so spu_alloc doesn't explode, and check for spu_management ops before starting spufs. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann arch/powerpc/platforms/cell/spu_base.c | 7 ++++--- arch/powerpc/platforms/cell/spufs/inode.c | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) commit befdc746ee027d686a06be29cb1391f9d2c45cf6 Author: Christoph Hellwig Date: Mon Apr 23 21:08:28 2007 +0200 [POWERPC] spu_base: remove cleanup_spu_base spu_base.c is always built into the kernel image, so there is no need for a cleanup function. And some of the things it does are in the way for my following patches, so I'd rather get rid of it ASAP. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit aa45e2569ffe963dfbbbfddfdccd12afe69b2d65 Author: Christoph Hellwig Date: Mon Apr 23 21:08:27 2007 +0200 [POWERPC] spufs: various run.c cleanups - remove the spu_acquire_runnable from spu_run_init. I need to opencode it in spufs_run_spu in the next patch - remove various inline attributes, we don't really want to inline long functions with multiple callsites - cleanup return values and runcntl_write calls in spu_run_init - use normal kernel codingstyle in spu_reacquire_runnable Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit fe8a29db5bce1b5bd1ceb85fd153fac52cdab7b2 Author: Akinobu Mita Date: Mon Apr 23 21:08:26 2007 +0200 [POWERPC] spufs: enable SPU coredump for kernel-builtin spufs spu_coredump_calls.owner is NULL in case of a builtin spufs, so the checks in here break. Check for the availability of the spu_coredump_calls variable instead. Signed-off-by: Arnd Bergmann commit 6cf2179202cf706471777ad6ee5d0377d5990ab7 Author: Arnd Bergmann Date: Mon Apr 23 21:08:25 2007 +0200 [POWERPC] spufs: fix memory leak on coredump Dynamically allocated read/write buffer in spufs_arch_write_note() will not be freed. Convert it to get_free_page at the same time. Cc: Akinobu Mita Signed-off-by: Arnd Bergmann commit d3764397d07b1e03943edfdcc3fb77af7bdac02b Author: Jeremy Kerr Date: Mon Apr 23 21:08:24 2007 +0200 [POWERPC] spufs: Minor cleanup of spu_wait Change the loop in spu_wait to be a little more straightforward. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit f11f5ee70f48899506514e5e0d10ee2c8ddd359a Author: Jeremy Kerr Date: Mon Apr 23 21:08:23 2007 +0200 [POWERPC] spufs: add mode= mount option Add a 'mode=' option to spufs mount arguments. This allows more control over access to the top-level spufs directory. Tested on Cell. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 9e2fe2ce4e957a79d3dc5d813e0cfb10d79b79b3 Author: Akinobu Mita Date: Mon Apr 23 21:08:22 2007 +0200 [POWERPC] spufs: use memcpy_fromio() to copy from local store GCC may generates inline copy loop to handle memcpy() function instead of kernel defined memcpy(). But this inlined version of memcpy() causes an alignment interrupt when copying from local store. This patch uses memcpy_fromio() and memcpy_toio to copy local store to prevent memcpy() being inlined. Signed-off-by: Akinobu Mita Signed-off-by: Arnd Bergmann commit 8a7d86bdb22678b17928eef0c8fa356d8b21cc76 Author: Christoph Hellwig Date: Mon Apr 23 21:08:21 2007 +0200 [POWERPC] spufs: avoid spurious memory barriers We now have proper locking around assignets of the mapping pointers, and the spin_unlock implies enough of a barrier to get rid of the explicit one. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit db1384b40d12eda6910513ff429ad90453ca49e1 Author: Akinobu Mita Date: Mon Apr 23 21:08:20 2007 +0200 [POWERPC] spufs: fix memory leak on spufs reloading When SPU isolation mode enabled, isolated_loader would be allocated by spufs_init_isolated_loader() on module_init(). But anyone do not free it. This patch introduces spufs_exit_isolated_loader() which is the opposite of spufs_init_isolated_loader() and called on module_exit(). Cc: Arnd Bergmann Signed-off-by: Akinobu Mita Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit c99c1994a2bb9493b4ac372b2b6ee2606d291171 Author: Akinobu Mita Date: Mon Apr 23 21:08:19 2007 +0200 [POWERPC] spufs: fix missing error handling in module_init() spufs module_init forgot to call a few cleanup functions on error path. This patch also includes cosmetic changes in spu_sched_init() (identation fix and return error code). [modified by hch to apply ontop of the latest schedule changes] Cc: Arnd Bergmann Signed-off-by: Akinobu Mita Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 577f8f1021f9ee6ef2a98a142652759ec122d27f Author: Akinobu Mita Date: Mon Apr 23 21:08:18 2007 +0200 [POWERPC] spufs: check spu_acquire_runnable() return value This patch checks return value of spu_acquire_runnable() in spufs_mfc_write(). Signed-off-by: Akinobu Mita Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit e45d48a34d4d1862d28d22c2533b8c6bb83b8c1f Author: Christoph Hellwig Date: Mon Apr 23 21:08:17 2007 +0200 [POWERPC] spufs: turn run_sema into run_mutex There is no reason for run_sema to be a struct semaphore. Changing it to a mutex and rename it accordingly. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit c8a1e9393a86f862ab9c8bc0db9b8a1822226f84 Author: Jeremy Kerr Date: Mon Apr 23 21:08:16 2007 +0200 [POWERPC] spufs: provide siginfo for SPE faults This change populates a siginfo struct for SPE application exceptions (ie, invalid DMAs and illegal instructions). Tested on an IBM Cell Blade. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 57dace2391ba10135e38457904121e7ef34d0c83 Author: Arnd Bergmann Date: Mon Apr 23 21:08:15 2007 +0200 [POWERPC] spufs: make spu page faults not block scheduling Until now, we have always entered the spu page fault handler with a mutex for the spu context held. This has multiple bad side-effects: - it becomes impossible to suspend the context during page faults - if an spu program attempts to access its own mmio areas through DMA, we get an immediate livelock when the nopage function tries to acquire the same mutex This patch makes the page fault logic operate on a struct spu_context instead of a struct spu, and moves it from spu_base.c to a new file fault.c inside of spufs. We now also need to copy the dar and dsisr contents of the last fault into the saved context to have it accessible in case we schedule out the context before activating the page fault handler. Signed-off-by: Arnd Bergmann commit 62c05d583ec016c40011462d5f03b072bfbd3dc7 Author: Christoph Hellwig Date: Mon Apr 23 21:08:14 2007 +0200 [POWERPC] spu_base: move spu_init_channels out of spu_mutex There is no reason to execute spu_init_channels under spu_mutex after the spu has been taken off the freelist it's ours. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 4e0f4ed0df71013290cd2a01f7b84264f7b99678 Author: Luke Browning Date: Mon Apr 23 21:08:13 2007 +0200 [POWERPC] spu sched: make addition to stop_wq and runque atomic vs wakeup Addition to stop_wq needs to happen before adding to the runqeueue and under the same lock so that we don't have a race window for a lost wake up in the spu scheduler. Signed-off-by: Luke Browning Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 7ec18ab923a2e377ecb05c74a2d38f457f79950f Author: Christoph Hellwig Date: Mon Apr 23 21:08:12 2007 +0200 [POWERPC] spufs: streamline locking for isolated spu setup For quite a while now spu state is protected by a simple mutex instead of the old rw_semaphore, and this means we can simplify the locking around spu_setup_isolated a lot. Instead of doing an spu_release before entering spu_setup_isolated and then calling the complicated spu_acquire_exclusive we can now simply enter the function locked an in guaranteed runnable state, so that the only bit of spu_acquire_exclusive that's left is the call to spu_unmap_mappings. Similarly there's no more need to unlock and reacquire the state_mutex when spu_setup_isolated is done, but we can always return with the lock held and only drop it in spu_run_init in the failure case. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit a475c2f43520cb095452201da57395000cfeb94c Author: Christoph Hellwig Date: Mon Apr 23 21:08:11 2007 +0200 [POWERPC] spufs: remove woken threads from the runqueue early A single context should only be woken once, and we should not have more wakeups for a given priority than the number of contexts on that runqueue position. Also add some asserts to trap future problems in this area more easily. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 390c53430498c9973e015432806edd53b2efe6c6 Author: Arnd Bergmann Date: Mon Apr 23 21:08:10 2007 +0200 [POWERPC] spufs: add memory barriers after set_bit set_bit does not guarantee ordering on powerpc, so using it for communication between threads requires explicit mb() calls. Signed-off-by: Arnd Bergmann commit e097b513285e616215b23af234d127298bb8d89a Author: Christoph Hellwig Date: Mon Apr 23 21:08:09 2007 +0200 [POWERPC] spu sched: ensure preempted threads are put back on the runqueue, part2 To not lose a spu thread we need to make sure it always gets put back on the runqueue. In find_victim aswell as in the scheduler tick as done in the previous patch. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit b3e76cc3244ac139fc75750c5af9edbb9f191a10 Author: Christoph Hellwig Date: Mon Apr 23 21:08:08 2007 +0200 [POWERPC] spu sched: ensure preempted threads are put back on the runqueue To not lose a spu thread we need to make sure it always gets put back on the runqueue. Signed-off-by: Christoph Hellwig Acked-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 43c2bbd932b66403688f3d812065d82f8fb8f4b3 Author: Christoph Hellwig Date: Mon Apr 23 21:08:07 2007 +0200 [POWERPC] spufs: clear mapping pointers after last close Make sure the pointers to various mappings are cleared once the last user stopped using them. This avoids accessing freed memory when tearing down the gang directory aswell as optimizing away pte invalidations if no one uses these. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 0887309589824fb1c3744c69a330c99c369124a0 Author: Christoph Hellwig Date: Mon Apr 23 21:08:06 2007 +0200 [POWERPC] spufs: use cancel_rearming_delayed_workqueue when stopping spu contexts The scheduler workqueue may rearm itself and deadlock when we try to stop it. Put a flag in place to avoid skip the work if we're tearing down the context. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann commit 44b998e1eb254edc87177819ee693690fac68b7f Author: David Woodhouse Date: Mon Apr 23 12:11:46 2007 +0100 [JFFS2] Improve failure mode if inode checking leaves unchecked space. We should never find the unchecked size is non-zero after we've finished checking all inodes. If it happens, used to BUG(), leaving the alloc_sem held and deadlocking. Instead, just return -ENOSPC after complaining. The GC thread will die, but read-only operation should be able to continue and the file system should be unmountable. Signed-off-by: David Woodhouse commit 566865a2a4791c9290155f651ee0c2c606db0b1d Author: David Woodhouse Date: Mon Apr 23 12:07:17 2007 +0100 [JFFS2] Fix cross-endian build. When compiling a LE-capable JFFS2 on PowerPC, wbuf.c fails to compile: fs/jffs2/wbuf.c:973: error: braced-group within expression allowed only inside a function fs/jffs2/wbuf.c:973: error: initializer element is not constant fs/jffs2/wbuf.c:973: error: (near initialization for ‘oob_cleanmarker.magic’) fs/jffs2/wbuf.c:974: error: braced-group within expression allowed only inside a function fs/jffs2/wbuf.c:974: error: initializer element is not constant fs/jffs2/wbuf.c:974: error: (near initialization for ‘oob_cleanmarker.nodetype’) fs/jffs2/wbuf.c:975: error: braced-group within expression allowed only inside a function fs/jffs2/wbuf.c:976: error: initializer element is not constant fs/jffs2/wbuf.c:976: error: (near initialization for ‘oob_cleanmarker.totlen’) Provide constant_cpu_to_je{16,32} functions, and use them for initialising the offending structure. Signed-off-by: David Woodhouse commit 3e67fe4543333048e486d7f360a0e2ae5d76c053 Author: Christoph Hellwig Date: Sun Apr 22 20:40:57 2007 +0100 [MTD] Finish conversion mtd_blkdevs to use the kthread API Remove waitqueue, 'exiting' flag and completion; use kthread APIs instead. Signed-off-by: Christoph Hellwig Signed-off-by: David Woodhouse commit ed519dede3d705e1c0012acd5b8de4074aa30fa4 Author: Russell King Date: Sun Apr 22 12:30:41 2007 +0100 [ARM] Convert AMBA PL010 driver to use the clk infrastructure Convert the AMBA PL010 serial driver to use the clock infrastructure to allow EP93xx platforms to properly gate the clock to the UARTs. Signed-off-by: Russell King commit 1b0646a033c370d6c7f5390f2cb452cc1884bb5b Author: Russell King Date: Sun Apr 22 11:55:59 2007 +0100 [ARM] Convert AMBA PL010 driver to use 'uart_amba_port' Use a pointer to struct uart_amba_port throughout the driver rather than a mixture of that and struct uart_port. Signed-off-by: Russell King commit 7531a1c2c4477f63688871c1648d828f55313d42 Author: Russell King Date: Sun Apr 22 10:56:40 2007 +0100 [ARM] Remove unnecessary asm/ptrace.h from VFP support code Signed-off-by: Russell King commit d0a9d75b9cd9cc8097c746611cc57cc8438b94be Author: Russell King Date: Sun Apr 22 10:08:58 2007 +0100 [ARM] sa1100: use mutexes rather than semaphores Use a mutex in the sa1100 clock support rather than a semaphore. Remove the unused "module" field. Signed-off-by: Russell King commit 99fba3f8177956170f3d86f83c2cf2f70747105f Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:44 2007 -0300 ACPI: thinkpad-acpi: improve fan watchdog messages Improve some of the fan watchdog error messages to be a little more helpful. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 04cc862c1893a055ab1117fa6f3aa0886c0ba032 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:43 2007 -0300 ACPI: thinkpad-acpi: cleanup thermal subdriver for sysfs conversion Clean-up the thermal subdriver for sysfs conversion. Make thermal_get_* reentrancy-safe while at it, and add the missing thermal_read_mode variable to the header file. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit c9bea99c1a712548db3437cbca52b0da8f30069c Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:42 2007 -0300 ACPI: thinkpad-acpi: clean up CMOS commands subdriver Some ThinkPad CMOS commands subdriver cleanups, and also rename/promote cmos_eval to a ACPI helper function, as it is used by many other subdrivers. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 83f34724643a3b0ec9322490b9ad9f1b60170a6c Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:41 2007 -0300 ACPI: thinkpad-acpi: cleanup video subdriver Cleanup video subdriver for sysfs conversion, and properly check result status of acpi_evalf. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d6fdd1e91a8a4cd852dc1d945165e3a69ac9e257 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:40 2007 -0300 ACPI: thinkpad-acpi: cleanup bluetooth and wan for sysfs conversion Prepare bluetooth and wan driver code to be more easily hooked into sysfs helpers, by separating the procfs logic from the device attribute handling. These changes also remove the entries from procfs on notebooks without the bluetooth/wan hardware installed. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b86c4722de62f336b82dff3c47ef59ba2a587ec1 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:39 2007 -0300 ACPI: thinkpad-acpi: clean up hotkey subdriver Cleanup hotkey subdriver code. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d01320e606d334a0cd35d781a58f9f3c254829ab Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:38 2007 -0300 ACPI: thinkpad-acpi: mark acpi helper functions __must_check Mark acpi_evalf and friends __must_check. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 8d376cd6543d57ef10799be02ba5f19aa6678032 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:37 2007 -0300 ACPI: thinkpad-acpi: prepare for device model conversion Prepare the thinkpad-acpi driver for the conversion to the device model, by renaming variables and doing other glue work that shall make the later patches much cleaner. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d8fd94d9f08237ffda7e44e6825b057bf20a90e3 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:36 2007 -0300 ACPI: thinkpad-acpi: use bitfields for module flags Use a bitfield to hold boolean module-wide flags, to conserve some memory. It is easy and it is clean, so we do it just for the heck of it even if it saves very little space. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 926411779287ad4f7013c9d80aa44fd131b70cd9 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:35 2007 -0300 ACPI: thinkpad-acpi: use bitfields to hold subdriver flags Save some memory by using bitfields to hold boolean flags for the subdrivers. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 0dcef77c5b889338811d35e786b42046259fe433 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:34 2007 -0300 ACPI: thinkpad-acpi: improve thinkpad detection Improve the detection of ThinkPads, so as to reduce the chances of false positives. Since this could potentially add false negatives on the very old models, add a module parameter to force the detection of a thinkpad. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a5763f2223ce3fdbc75923f8c948fc7b59ed2f96 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:33 2007 -0300 ACPI: thinkpad-acpi: uncouple subdriver init from ibms struct Move the .init method from ibms struct to another struct, and use a list head to control which subdrivers have been activated. This allows us to have the subdriver init methods marked __init, saving quite a lot of .text size, and even a bit of .data size as some data can now be made __initdata. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit fe08bc4b4fd1371fad111675a564e4d2ebbf39ea Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:32 2007 -0300 ACPI: thinkpad-acpi: add subdriver debug statements Add debug messages to the subdriver initialization and exit code. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 5fba344cfdbaa79e6320da26c3db34dfb219a845 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:31 2007 -0300 ACPI: thinkpad-acpi: clean up probing and move init to subdrivers Move most of the probing code to its own function, and most of the subdriver-specific init code into subdriver init functions. This allows us to not define pci_handle unless the dock subdriver is enabled, as well. This patch causes a minor userland interface change: if a subdriver doesn't detect a capability, /proc entries for it are not created anymore (as opposed to a /proc entry that just returned "unsupported"). Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 132ce09123755ec5e3d3a8ae22f4f753c3baac97 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:30 2007 -0300 ACPI: thinkpad-acpi: add debug mode Add a debug mode parameter and verbose debug mode Kconfig option. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit f51d1a39840ae5e8678d702ab57377c611fc3826 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:29 2007 -0300 ACPI: thinkpad-acpi: update fan firmware documentation Update some stuff in the in-code text describing the ThinkPad fan firmware. This patch has no code changes. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit efa27145df34eacf2569bd45f68dbe00003d3616 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:28 2007 -0300 ACPI: thinkpad-acpi: rename thinkpad constants Rename all IBMACPI_ constants, now that we are not called ibm-acpi anymore. Driver-specific constants are now prefixed TPACPI_, ThinkPad firmware specific ones are now prefixed TP_CMOS_, TP_ACPI_, or TP_EC_. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1def7115f0277ce9d2a54efd0ae187aa88d5c7fa Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:27 2007 -0300 ACPI: thinkpad-acpi: rename module glue Rename module init and exit functions, now that we are not called ibm-acpi anymore. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 142cfc90f026b0b8fd1a14ba11ae29eb7b1b6ca1 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:26 2007 -0300 ACPI: thinkpad-acpi: rename one stray use of ibm-acpi in a comment Rename a stray use of ibm-acpi on a comment, no functional changes. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 6700121b535fa16fe1c8aaac03559b2f12909726 Author: Henrique de Moraes Holschuh Date: Sat Apr 21 11:08:25 2007 -0300 ACPI: thinkpad-acpi: rename register_ibmacpi_subdriver Rename register_ibmacpi_subdriver to register_tpacpi_subdriver, as we are not called ibmacpi anymore. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 7053acbd78336abf5d4bc3d8a875a03624cfb83f Author: Eric Miao Date: Thu Apr 5 04:07:20 2007 +0100 [ARM] 4304/1: removes the unnecessary bit number from CKENnn_XXXX This patch removes the unnecessary bit number from CKENnn_XXXX definitions for PXA, so that CKEN0_PWM0 --> CKEN_PWM0 CKEN1_PWM1 --> CKEN_PWM1 ... CKEN24_CAMERA --> CKEN_CAMERA The reasons for the change of these defitions are: 1. they do not scale - they are currently valid for pxa2xx, but definitely not valid for pxa3xx, e.g., pxa3xx has bit 3 for camera instead of bit 24 2. they are unnecessary - the peripheral name within the definition has already announced its usage, we don't need those bit numbers to know which peripheral we are going to enable/disable clock for 3. they are inconvenient - think about this: a driver programmer for pxa has to remember which bit in the CKEN register to turn on/off Another change in the patch is to make the definitions equal to its clock bit index, so that #define CKEN_CAMERA (24) instead of #define CKEN_CAMERA (1 << 24) this change, however, will add a run-time bit shift operation in pxa_set_cken(), but the benefit of this change is that it scales when bit index exceeds 32, e.g., pxa3xx has two registers CKENA and CKENB, totally 64 bit for this, suppose CAMERA clock enabling bit is CKENB:10, one can simply define CKEN_CAMERA to be (32 + 10) and so that pxa_set_cken() need minimum change to adapt to that. Signed-off-by: eric miao Signed-off-by: Russell King commit 075192ae807579448afcc0833bd349ccce057825 Author: Kevin Hilman Date: Thu Mar 8 20:32:19 2007 +0100 [ARM] 4262/1: OMAP: clocksource and clockevent support Update OMAP1 to enable support for hrtimers and dynticks by using new clocksource and clockevent infrastructure. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit 89df127246f23add865f4a8f719c990e41151843 Author: Kevin Hilman Date: Thu Mar 8 20:30:38 2007 +0100 [ARM] 4261/1: clockevent support for Versatile platform Update Versatile platform to use new clockevent infrastructure. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit b49c87c2a5059af14b68ee5f596ac0e9c93678bb Author: Kevin Hilman Date: Thu Mar 8 20:25:13 2007 +0100 [ARM] 4260/1: clocksource support for Versatile platform Update Versatile to use new clocksource infrastructure for basic timekeeping. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit e32f1502be3fa459723b1e4105e014f0828f7513 Author: Kevin Hilman Date: Thu Mar 8 20:23:59 2007 +0100 [ARM] 4259/1: clockevent support for ixp4xx platform Update ixp4xx timer support to use new clockevent infrastructure. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit 9e4559ddffc012a73ea0b54ed3b6a219c1483ae9 Author: Kevin Hilman Date: Wed Mar 14 17:33:24 2007 +0100 [ARM] 4258/2: Support for dynticks in idle loop And, wrap timer_tick() and sysdev suspend/resume in !GENERIC_CLOCKEVENTS since clockevent layer takes care of these. Signed-off-by: Kevin Hilman Acked-by: Thomas Gleixner Signed-off-by: Russell King commit 0567a0c022d5b343370a343121f38fd89925de55 Author: Kevin Hilman Date: Tue Mar 13 20:29:24 2007 +0100 [ARM] 4257/2: Kconfig support for GENERIC_CLOCKEVENTS This time with LEDS_TIMER set with !GENERIC_CLOCKEVENTS Signed-off-by: Kevin Hilman Acked-by: Thomas Gleixner Signed-off-by: Russell King commit 5d01f133412b0e27b340ab1bbb2cf0017329ae61 Author: Simon Richter Date: Mon Apr 2 14:06:29 2007 +0100 [ARM] 4300/1: Add picotux 200 ARM board Add the picotux 200 ARM board: - Enable its machine type in the filter in head.S - Add configuration option - Add board initialisation - Add default configuration Signed-off-by: Simon Richter Signed-off-by: Russell King commit 6f621885feba507d40dd1bba253378ae04f9fe8e Author: Ben Dooks Date: Wed Apr 11 12:42:09 2007 +0100 [ARM] 4319/1: S3C2412: Add kconfig for MACH_SMDK2412 Add Kconfig entry for SMDK2412 to go with the SMDK2413 Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a7717435656c874843b1742383cc37540f5ff91e Author: Ben Dooks Date: Fri Apr 20 11:39:46 2007 +0100 [ARM] 4326/1: S3C24XX: fix sparse errors in DMA code Fix the following sparse errors in arch/arm/plat-s3c24xx/dma.c: dma.c:47:30: warning: symbol 'dma_sel' was not declared. Should it be static? dma.c:883:6: warning: symbol 's3c2410_dma_waitforstop' was not declared. Should it be static? dma.c:961:1: warning: symbol 's3c2410_dma_started' was not declared. Should it be static? dma.c:1283:12: warning: symbol 's3c24xx_dma_sysclass_init' was not declared. Should it be static? dma.c:1295:12: warning: symbol 's3c24xx_dma_sysdev_register' was not declared. Should it be static? dma.c:1399:25: warning: symbol 's3c2410_dma_map_channel' was not declared. Should it be static? The patch makes all the relevant functions static. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 57e5171c9ff817d56344d8473e484d6870ae2bf3 Author: Ben Dooks Date: Fri Apr 20 11:19:16 2007 +0100 [ARM] 4325/1: S3C24XX: remove s3c24xx_board Remove the use of struct s3c24xx_board as this is just as easily done by using the platform device registration functions to make the initialisation sequence easier. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ce89c206ac03dfec700cfa538dcbcc347c0683ce Author: Ben Dooks Date: Fri Apr 20 11:15:27 2007 +0100 [ARM] 4324/1: S3C24XX: remove clocks from s3c24xx_board Remove the clocks from the s3c24xx_board as part of the process of simplifying the initialisation sequence by removing struct s3c24xx_board. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ef08574729bcf65bbd1f0c9ad9b9baa9bbd7a830 Author: Graeme Gregory Date: Mon Apr 2 12:00:33 2007 +0100 [ARM] 4299/1: S3C AC97 fill in register bit defines Create defines in the same styles as other s3c include files giving names to bits in registers within the AC97 IO unit. Signed-off-by: Graeme Gregory Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 13ea55b04eaafb60cd7df759c8d92566d1f19351 Author: Uwe Kleine-König Date: Mon Apr 2 21:09:31 2007 +0100 [ARM] 4301/1: add mach type cc9p9360js The support for that machine is not yet complete, but it's enough to be useful as a test platform for the serial and ethernet driver. Moreover a typo in the product name is fixed that I missed in the last patch. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 53b2e01be55f3c140e2704cf8d5f99ddba0ff823 Author: Vladimir Barinov Date: Wed Apr 11 16:32:46 2007 +0100 [ARM] 4320/1: ixp4xx: cpu type detection stuff cleanup Move IXP4XX cpu detection stuff in a separate include file and remove unused definition. Signed-off-by: Vladimir Barinov Signed-off-by: Ruslan Sushko Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 45fba0846f5a5a48ed3c394aa4f8ca93699e7655 Author: Ruslan V. Sushko Date: Fri Apr 6 15:00:31 2007 +0100 [ARM] 4311/1: ixp4xx: add KIXRP435 platform Add Intel KIXRP435 Reference Platform based on IXP43x processor. Fixed after review : access to cp15 removed in identification functions, used access to global processor_id instead Signed-off-by: Vladimir Barinov Signed-off-by: Ruslan Sushko Signed-off-by: Russell King commit 25735d10ba477d5128b1e5ccef42062bea429075 Author: Milan Svoboda Date: Wed Mar 21 14:04:08 2007 +0100 [ARM] 4275/1: generic gpio layer for ixp4xx This patch brings generic gpio layer support to ixp4xx. It creates functions needed for gpio->irq and irq->gpio translation. It expects and initial value to be passed to gpio_direction_output() which has been introduced by commit 28735a7253a6c24364765e80a5428b4a151fccc2 in Linus git tree. Generic gpio layer is going to be used by pxa2xx_udc driver. Signed-off-by: Milan Svoboda Signed-off-by: Russell King commit f86bd61fd70af02e666a893aaf22653181423e99 Author: Uwe Kleine-König Date: Wed Mar 28 18:06:41 2007 +0100 [ARM] 4294/1: ns9xxx: Determine system clock from PLL register settings The function attribute const is abused here as the PLL register is read. But I think this is all right because the PLL register cannot change without a reset. Note: This patch depends on 4293/1 Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 940089e007e8ed33295ef408b39a53e5ad518ebd Author: Uwe Kleine-König Date: Wed Mar 28 17:54:22 2007 +0100 [ARM] 4293/1: ns9xxx: Add bit fields FS and ND to the definition of SYS_PLL register Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit fee64d1b55af57d7dba41f554769db83d7a32fde Author: Uwe Kleine-König Date: Wed Mar 28 17:18:30 2007 +0100 [ARM] 4292/1: ns9xxx: Make REGGET consistant with REGSET This implies that REGGET gets a new parameter "var" to allow to hold the actual register value in a variable. Moreover REGGET was broken because it used "field" instead of "reg ## _ ## field" which proves that there are no callers to fix :-) Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit a79220b7633b3926a9bd3527bdac3f04dbe6845c Author: Matej Kenda Date: Mon Mar 5 13:06:40 2007 +0100 [ARM] 4246/1: i2c-pxa: add adapter class to platform specific data Reposted patch for kernel 2.6.21-rc2. The driver i2c-pxa doesn't set the class member in i2c_adapter, which is used to register the I2C adapter. The hwmon (sensors) drivers (e.g. adm1021) that are connected to a i2c-pxa adapter don't attach because they expect that the adapter supports class I2C_CLASS_HWMON. This patch adds functionality to allow platforms to set the class and pass it as platform_data to the i2c-pxa driver. Sample usage in platform code: static struct i2c_pxa_platform_data my_i2c_platform_data = { .class = I2C_CLASS_HWMON }; static void __init my_platform_init(void) { (void) platform_add_devices(devices, ARRAY_SIZE(devices)); pxa_set_i2c_info(&my_i2c_platform_data); } Signed-off-by: Matej Kenda Signed-off-by: Russell King commit 4fe4a2bf9a687fc87ea796c234da8c59df763aab Author: Philipp Zabel Date: Mon Feb 26 01:44:57 2007 +0100 [ARM] 4236/2: basic {enable,disable}_irq_wake() support for PXA pxa_set_gpio_wake handles GPIOs > 1, so IRQ_TO_GPIO has to be used instead of just substracting IRQ_GPIO0 from the irq number. commit c172cc92c87103c98b5cd359205b684bf99b5067 Author: Russell King Date: Sat Apr 21 10:52:32 2007 +0100 [ARM] mm 6: allow mem_types table to specify extended pte attributes Add prot_pte_ext to the mem_types table to allow the extended pte attributes to be passed to set_pte_ext(), thereby permitting us to specify memory type information for the hardware PTE entries. Signed-off-by: Russell King commit b29e9f5e64fb90d2e4be1c7ef8c925b56669c74a Author: Russell King Date: Sat Apr 21 10:47:29 2007 +0100 [ARM] mm 5: Use mem_types table in ioremap We really want to be using the memory type table in ioremap, so we only have to do the CPU type fixups in one place. Signed-off-by: Russell King commit 24e6c6996fb6e0e716c1dda1def1bb023a0fe43b Author: Russell King Date: Sat Apr 21 10:21:28 2007 +0100 [ARM] mm 4: make create_mapping() more conventional Rather than our three separate loops to setup mappings (by page mappings up to a section boundary, then section mappings, and the remainder by page mappings) convert this to a more conventional Linux style of a loop over each page table level. Signed-off-by: Russell King commit 4a56c1e41f19393577bdd5c774c289c199b7269d Author: Russell King Date: Sat Apr 21 10:16:48 2007 +0100 [ARM] mm 3: separate out supersection mappings, avoid for <4GB Catalin Marinas at ARM Ltd says: > The CPU architects in ARM intended supersections only as a way to map > addresses >= 4GB. Supersections are not mandated by the architecture > and there is no easy way to detect their hardware support at run-time > (other than checking for a specific core). From the analysis done in > ARM, there wasn't a clear performance gain by using supersections > rather than sections (no significant improvement in the TLB misses). Therefore, we should avoid using supersections unless there's a real need (iow, we're mapping addresses >= 4GB). This means that we can simplify create_mapping() a bit since we will only use supersection mappings for addresses >= 4GB, which means that the physical, virtual and length must be multiples of the supersection mapping size. Signed-off-by: Russell King commit d5c98176ef34b8b78645646593c17e10f62f53ff Author: Russell King Date: Sat Apr 21 10:05:32 2007 +0100 [ARM] mm 2: clean up create_mapping() There's now no need to carry around each protection separately. Instead, pass around the pointer to the entry in the mem_types array which we're interested in. Signed-off-by: Russell King commit 2497f0a8125e307cf1fd4222bab53f66305eba27 Author: Russell King Date: Sat Apr 21 09:59:44 2007 +0100 [ARM] mm 1: Combine mem_type domain into prot_* at init time Rather than combining the domain for a particular memory type with the protection information each time we want to use it, do so when we fix up the mem_type array at initialisation time. Rename struct mem_types to be mem_type - each structure is one memory type description, not several. Signed-off-by: Russell King commit 235b185ce47ce64793362bd3ae4bcd8afc6b57b8 Author: Russell King Date: Sun Mar 4 20:44:59 2007 +0000 [ARM] getuser.S and putuser.S don't need thread_info.h nor asm-offsets.h Signed-off-by: Russell King commit b2a0d36fde90fa9dd20b7dde21dbcff09b130b38 Author: Russell King Date: Sun Mar 4 09:50:28 2007 +0000 [ARM] ptrace: clean up single stepping support Signed-off-by: Russell King commit 0f0a00beb80624a446ba7c0152cd171008eeab2e Author: Russell King Date: Sat Mar 3 19:45:25 2007 +0000 [ARM] Remove needless linux/ptrace.h includes Lots of places in arch/arm were needlessly including linux/ptrace.h, resumably because we used to pass a struct pt_regs to interrupt handlers. Now that we don't, all these ptrace.h includes are redundant. Signed-off-by: Russell King commit 27350afdfc94a78adbdee20bb00f6058a0ef1eab Author: Russell King Date: Sat Mar 3 11:51:31 2007 +0000 [ARM] EBSA110: Add readsw/readsl/writesw/writesl Signed-off-by: Russell King commit 7ab3f8d595a1b1e5cf8d726b72fd476fe0d0226c Author: Russell King Date: Fri Mar 2 15:01:36 2007 +0000 [ARM] Add ability to dump exception stacks to kernel backtraces Signed-off-by: Russell King commit a491486a2087ac3dfc00efb4f838c8d684afaf54 Author: Joakim Tjernlund Date: Fri Mar 16 16:15:45 2007 +0100 [JFFS2] Obsolete dirent nodes immediately on unlink, where possible. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit ec98c681a5355469eee70227b7e0a88f0d688483 Author: Jan Engelhardt Date: Thu Apr 19 16:21:41 2007 -0500 Use menuconfig objects: MTD Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 99f9b2431ed3da4a66cf1cfe74132a53a9569bba Author: Eric W. Biederman Date: Thu Apr 19 01:58:33 2007 -0600 [MTD] mtd_blkdevs: Convert to use the kthread API thread_run is used intead of kernel_thread, daemonize, and mucking around blocking signals directly. Signed-off-by: Eric W. Biederman Signed-off-by: David Woodhouse commit 876b9276b993723f7a74d55b3b49b9186f05d09d Author: Paul Walmsley Date: Thu Apr 19 14:56:12 2007 +0200 USB HID: add 'quirks' module parameter Add a 'quirks' module parameter for the usbhid module, so users can add or modify quirks at module load time. Signed-off-by: Paul Walmsley Signed-off-by: Jiri Kosina commit 8cef908235bcac898a4f4ccc50c781e08022a579 Author: Paul Walmsley Date: Thu Apr 19 14:37:44 2007 +0200 USB HID: add support for dynamically-created quirks Add internal support for dynamically-allocated HID quirks, "dquirks" (for "dynamic quirks"). Includes several functions to add/modify quirks from the list. This code is used by the next patch to implement quirk modification upon module load. Signed-off-by: Paul Walmsley Signed-off-by: Jiri Kosina commit 8222fbe67cc6c83bb6d8d9d913aee17957fc0654 Author: Paul Walmsley Date: Thu Apr 19 13:45:57 2007 +0200 USB HID: clarify static quirk handling as squirks Rename existing quirks handling code that operates over a static array to "squirks" (short for static quirks) to differentiate it from the dynamically-allocated quirks that will be introduced in the next patch. Add an accessor function specifically for static quirks, usbhid_exists_squirk(). Signed-off-by: Paul Walmsley Signed-off-by: Jiri Kosina commit 2eb5dc30eb87aa30f67e3dff39d5c9f3fb643260 Author: Paul Walmsley Date: Thu Apr 19 13:27:04 2007 +0200 USB HID: encapsulate quirk handling into hid-quirks.c Move the USB_VENDOR* and USB_DEVICE* defines and the hid_blacklist[] array there from hid-core.c. Add hid-quirks.c:usbhid_lookup_any_quirks() to return quirk information to hid-core.c. Convert __u32, __u16 types to u32, u16. Signed-off-by: Paul Walmsley Signed-off-by: Jiri Kosina commit 3f114853d4f7c1746389f26e1d500887294da8fd Author: Roland Dreier Date: Wed Apr 18 20:21:02 2007 -0700 IB/mthca: Update HCA firmware revisions Update the driver's list of current firmware versions with Mellanox's latest releases. Signed-off-by: Roland Dreier commit 40b90430ecac40cc9adb26b808cc12a3d569da5d Author: Robert Walsh Date: Thu Mar 15 14:45:17 2007 -0700 IB/ipath: Fix WC format drift between user and kernel space The kernel ib_wc structure now uses a QP pointer, but the user space equivalent uses a QP number instead. This means we can no longer use a simple structure copy to copy stuff into user space. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 6ce73b07db7aa05d4a30716d6a99c832b6d9db4a Author: Robert Walsh Date: Thu Mar 15 14:45:16 2007 -0700 IB/ipath: Check that a UD work request's address handle is valid Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 0d6172a4284b21e4762e8638a4d693ef52f63bfe Author: Robert Walsh Date: Thu Mar 15 14:45:15 2007 -0700 IB/ipath: Remove duplicate stuff from ipath_verbs.h Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 253fb3902008353831525ab711909abdd5ee191f Author: Robert Walsh Date: Thu Mar 15 14:45:14 2007 -0700 IB/ipath: Check reserved memory keys Don't let userspace use the direct-physical-map L_key or R_key. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f0810daf74c564a3615eba5002cc11c21a0949ba Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:13 2007 -0700 IB/ipath: Fix unit selection when all CPU affinity bits set At some point things changed so that all the affinity bits can be set, but cpus_full() macro is not true. This caused problems with the unit selection logic on multi-unit (board) configurations. Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 662af5813be9aadf95ca310b7b6d1d37070c9922 Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:12 2007 -0700 IB/ipath: Don't allow QPs 0 and 1 to be opened multiple times Signed-off-by: Robert Walsh Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 53c1d2c943a67fb129ed2797182305a4633531fb Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:11 2007 -0700 IB/ipath: Disable IB link earlier in shutdown sequence Move the code that shuts down the IB link earlier in the unload process, to be sure no new packets can arrive while we are unloading. Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 490462c2686df6e35c21d1efe935e0b4a3bddb39 Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:10 2007 -0700 IB/ipath: Prevent random program use of diags interface To prevent random utility reads and writes of the diag interface to the chip, we first require a handshake of reading from offset 0 and writing to offset 0 before any other reads or writes can be done through the diags device. Otherwise chip errors can be triggered. Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit f5408ac7ccec0a7edd2b6add0da82735375a37a0 Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:09 2007 -0700 IB/ipath: On unrecoverable errors, force link down, LEDs off If the chip is no longer usable, LEDs should be turned off so system can be found easily in the cluster. Also some minor reorganizing so both chips print hardware error message at same point and only if there were unrecovered errors Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 27b044a815df7d4530bc68560796680ed588070c Author: Michael Albaugh Date: Thu Mar 15 14:45:08 2007 -0700 IB/ipath: Fix driver crash (in interrupt or during unload) after chip reset Re-init of the kernel structures after a chip reset was leaving the portdata structure for port zero in an inconsistent state, and a pointer to it either stale (in re-init code) or NULL (in devdata) Fixing the order of operations on this struct, and the condition for interrupt access, prevents the crashes. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 9783ab405844202b452ac673677e6c8f8c9a6a99 Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:07 2007 -0700 IB/ipath: Improve handling and reporting of parity errors Mostly cleanup. Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 820054b7ca7a54ba94d89db4b3c53a24d2d66633 Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:06 2007 -0700 IB/ipath: Print better error messages if kernel is misconfigured Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 569b87b47f906d65ee35d6ecc4767f20a6390b9b Author: Arthur Jones Date: Thu Mar 15 14:45:05 2007 -0700 IB/ipath: Force PIOAvail update entry point Due to a chip bug, the PIOAvail register is not always updated to memory. This patch allows userspace to force an update. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 7b196e2ff3953063b656212ff517f6115a1477b2 Author: Arthur Jones Date: Thu Mar 15 14:45:04 2007 -0700 IB/ipath: Call free_irq() on chip specific initialization failure In initialization, if we bailed at chip specific initialization, we forgot to clean up the irq we had requested. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 5a7d4eea9185c20275307fcd1077d6f9dfdab48a Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:03 2007 -0700 IB/ipath: Discard multicast packets without a GRH This patch fixes a bug where multicast packets without a GRH were not being dropped as per the IB spec. Signed-off-by: Ralph Campbell Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 0ed3c594e3878274787810422760dc7c51e0ee72 Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:02 2007 -0700 IB/ipath: Fix calculation for number of kernel PIO buffers If the module parameter "kpiobufs" is set too high, the calculation to reset it to a sane value was incorrect. Signed-off-by: Ralph Campbell Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit c8c6f5d496fe794cbb52fe5a08c2bd839eecaa07 Author: Bryan O'Sullivan Date: Thu Mar 15 14:45:01 2007 -0700 IB/ipath: Remove unused ipath_read_kreg64_port() Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit dd5190b6be0f3e27b6a4933a6a6d2d59957fc748 Author: Ralph Campbell Date: Thu Mar 15 14:45:00 2007 -0700 IB/ipath: Fix RDMA reads of length zero and error handling Fix RDMA read response length checking for RDMA_READ_RESPONSE_ONLY to allow a zero length response. RDMA read responses which don't match the expected length or occur in response to some other operation should generate a completion queue error (see table 56, ch. 9.9.2.3 in the IB spec). Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit c7e29ff11f23ec78b3caf691789c2b791bb596bf Author: Mark Debbage Date: Thu Mar 15 14:44:59 2007 -0700 IB/ipath: Allow receive ports mapped into userspace to be shared Improve port-sharing performance by allowing any process to receive packets from the shared hardware port under a spin lock for mutual exclusion. Previously, one process was nominated as the master and that process was responsible for receiving all packets from the shared hardware port and either consuming them or forwarding them to their destination. This led to starvation problems for other processes when the master process was busy in computation phases. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 0a5a83cffc03592c2102ad07b7532b596a16f8cd Author: Ralph Campbell Date: Thu Mar 15 14:44:58 2007 -0700 IB/ipath: Fix port sharing on powerpc The port sharing feature mixed kernel virtual addresses as well as physical addresses for the offset used to describe the mmap address to map the InfiniPath hardware into user space. This had a conflict on powerpc. The new scheme converts it to a physical address so it doesn't conflict with chip addresses and yet still fits in 40/44 bits so it isn't truncated by 32-bit applications calling mmap64(). Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 041eab9136d8325c332429df71d05ba3e0ea8ebc Author: Bryan O'Sullivan Date: Thu Mar 15 14:44:57 2007 -0700 IB/ipath: Fix CQ flushing when QP is modified to error state If a receive work request has been removed from the queue but has not had a CQ entry generated for it and the QP is modified to the error state, the completion entry generated is incorrect. This patch fixes the problem. Signed-off-by: Ralph Campbell Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 614d49a21e96737f84b13f644ac813f8eb6d297a Author: Bryan O'Sullivan Date: Thu Mar 15 14:44:56 2007 -0700 IB/ipath: Fix bad argument to clear_bit() Code was converted from a &= ~mask to clear_bit, but the bit was left shifted instead of being used directly, so we were either trashing memory several pages away, or sometimes taking a kernel page fault on an invalid page. Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 8ec1077b35359c973f4b1de7c516be570a6df495 Author: Bryan O'Sullivan Date: Thu Mar 15 14:44:55 2007 -0700 IB/ipath: Change packet problems vs chip errors handling and reporting Some types of packet errors are moderately common with longer IB cables and large clusters, and are not reported with prints by other IB HCA drivers. This suppresses those messages unless the new __IPATH_ERRPKTDBG bit is set in ipath_debug. Reporting of temporarily disabled frequent error interrupts was also made clearer We also distinguish between chip errors, and bad packets sent or received in the wording of the messages. Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 6f5c407460bba332d6bee52e19f2305539395511 Author: Ralph Campbell Date: Thu Mar 15 14:44:54 2007 -0700 IB/ipath: Fix PSN update for RC retries This patch fixes a number of bugs with updating the PSN for retries of RC requests. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 0434d271fddaabd65aaa4dbd0145112d6e8aa388 Author: Ralph Campbell Date: Thu Mar 15 14:44:53 2007 -0700 IB/ipath: Fix QP error completion queue entries When switching to the QP error state, the completion queue entries (error or flush) were not being generated correctly. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 39c0d0b919ae5080163bd2d41c0271cda250d382 Author: Bryan O'Sullivan Date: Thu Mar 15 14:44:52 2007 -0700 IB/ipath: Fix up some debug messages ipath_dbg doesn't need the same prefixes that printk does. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 3859e39d75b72f35f7d38c618fbbacb39a440c22 Author: Ralph Campbell Date: Thu Mar 15 14:44:51 2007 -0700 IB/ipath: Support larger IB_QP_MAX_DEST_RD_ATOMIC and IB_QP_MAX_QP_RD_ATOMIC This patch adds support for multiple RDMA reads and atomics to be sent before an ACK is required to be seen by the requester. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 7b21d26ddad6912bf345e8e88a51a5ce98a036ad Author: Ralph Campbell Date: Thu Mar 15 14:44:50 2007 -0700 IB/ipath: NMI cpu lockup if local loopback used If a post send is done in loopback and there is no receive queue entry, the sending QP is put on a timeout list for a while so the receiver has a chance to post a receive buffer. If the another post send is done, the code incorrectly tried to put the QP on the timeout list again an corrupted the timeout list. This eventually leads to a spin lock deadlock NMI due to the timer function looping forever with the lock held. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 9f9630d5e12a51f38513de0d64320a55ab6f02d5 Author: Ralph Campbell Date: Thu Mar 15 14:44:49 2007 -0700 IB/ipath: Fix SRQ limit event causing dropped CQ entry A silly programming error causes a CQ entry to not be generated if a SRQ limit event is generated. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 947d7617a1d876c2c93f73017a734e070c64d43b Author: Ralph Campbell Date: Thu Mar 15 14:44:48 2007 -0700 IB/ipath: Don't initialize port memory for subports A recent change was made to allocate memory for a port after CPU affinity is set. That change didn't account for subports and was trying to allocate memory for the port twice. Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 19085745598ec254fd814411b675b52380c3bac0 Author: Bryan O'Sullivan Date: Thu Mar 15 14:44:47 2007 -0700 IB/ipath: Definitions of two RXE parity err bits were reversed The chip documentation on the expected TID vs eager TID parity error bits was reversed from what was implemented in the RTL, for both chips. This corrects the definitions. Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 165c552c35052284e8ec4f7e9c027dfd33490e2c Author: Bryan O'Sullivan Date: Thu Mar 15 14:44:46 2007 -0700 IB/ipath: Fix user memory region creation when IOMMU present The loop which initializes the user memory region from an array of pages was using the wrong limit for the array. This worked OK when dma_map_sg() returned the same number as the number of pages. This patch fixes the problem. Signed-off-by: Ralph Campbell Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 946db67fbf836af30835d610b914cdde0cf467f8 Author: Bryan O'Sullivan Date: Thu Mar 15 14:44:45 2007 -0700 IB/ipath: Add ability to set and clear IB local loopback This is a sticky state. It is useful for diagnosing problems with boards versus cable/switch problems. Signed-off-by: Dave Olson Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit a89875fc7e23ec91561bc3742df3bd5d12b376b4 Author: Roland Dreier Date: Wed Apr 18 20:20:53 2007 -0700 IPoIB: Remove pointless opcode field from debugging output There's no point in printing the opcode field in the completion handling debugging output, since the type of completion is already printed at the beginning of the line. In fact the opcode field is not even defined for completions with a status other than success. Signed-off-by: Roland Dreier commit 9a4b65e35714516980c863bfb7edc5f232b8b458 Author: Hal Rosenstock Date: Mon Apr 2 12:45:16 2007 -0400 IB/umad: Fix declaration of dev_map[] The current ib_umad code never accesses bits past IB_UMAD_MAX_PORTS in dev_map[]. We shouldn't declare it to be twice as big. Pointed-out-by: Roland Dreier Signed-off-by: Hal Rosenstock commit 9b620d2a16814e5f2a063359c953c41f804e091a Author: Roland Dreier Date: Wed Apr 18 20:20:53 2007 -0700 IB: Remove reference to obsolete CONFIG_IPATH_CORE Since commit b1c1b6a3 ("IB/ipath: merge ipath_core and ib_ipath drivers"), CONFIG_IPATH_CORE no longer exists, so there's no reason to have a line for it in drivers/Makefile. Pointed out by Robert P. J. Day . Signed-off-by: Roland Dreier commit 4d5a1be98d8d40a7c558005d423b3daed8ba1ddb Author: Paul Zaremba Date: Wed Apr 18 15:29:47 2007 +0200 USB HID: EMS USBII device needs HID_QUIRK_MULTI_INPUT Add HID_QUIRK_MULTI_INPUT to the EMS USBII (0x0b43/0003) so the kernel detects both joystick ports properly. Without it you end up with a single joystick node (js0) that combines the two physical port signals. Signed-off-by: Paul Zaremba Signed-off-by: Jiri Kosina commit d7b8bcb0a0819315a51cae620ff7ae0c1704c069 Author: Michael Tokarev Date: Fri Oct 27 16:02:37 2006 +0400 [SCSI] modalias for scsi devices The following patch adds support for sysfs/uevent modalias attribute for scsi devices (like disks, tapes, cdroms etc), based on whatever current sd.c, sr.c, st.c and osst.c drivers supports. The modalias format is like this: scsi:type-0x04 (for TYPE_WORM, handled by sr.c now). Several comments. o This hexadecimal type value is because all TYPE_XXX constants in include/scsi/scsi.h are given in hex, but __stringify() will not convert them to decimal (so it will NOT be scsi:type-4). Since it does not really matter in which format it is, while both modalias in module and modalias attribute match each other, I descided to go for that 0x%02x format (and added a comment in include/scsi/scsi.h to keep them that way), instead of changing them all to decimal. o There was no .uevent routine for SCSI bus. It might be a good idea to add some more ueven environment variables in there. o osst.c driver handles tapes too, like st.c, but only SOME tapes. With this setup, hotplug scripts (or whatever is used by the user) will try to load both st and osst modules for all SCSI tapes found, because both modules have scsi:type-0x01 alias). It is not harmful, but one extra module is no good either. It is possible to solve this, by exporting more info in modalias attribute, including vendor and device identification strings, so that modalias becomes something like scsi:type-0x12:vendor-Adaptec LTD:device-OnStream Tape Drive and having that, match for all 3 attributes, not only device type. But oh well, vendor and device strings may be large, and they do contain spaces and whatnot. So I left them for now, awaiting for comments first. Signed-off-by: Michael Tokarev Signed-off-by: James Bottomley commit 44ec95425c1d9dce6e4638c29e4362cfb44814e7 Author: Alan Stern Date: Tue Feb 20 11:01:57 2007 -0500 [SCSI] sg: cap reserved_size values at max_sectors This patch (as857) modifies the SG_GET_RESERVED_SIZE and SG_SET_RESERVED_SIZE ioctls in the sg driver, capping the values at the device's request_queue's max_sectors value. This will permit cdrecord to obtain a legal value for the maximum transfer length, fixing Bugzilla #7026. The patch also caps the initial reserved_size value. There's no reason to have a reserved buffer larger than max_sectors, since it would be impossible to use the extra space. The corresponding ioctls in the block layer are modified similarly, and the initial value for the reserved_size is set as large as possible. This will effectively make it default to max_sectors. Note that the actual value is meaningless anyway, since block devices don't have a reserved buffer. Finally, the BLKSECTGET ioctl is added to sg, so that there will be a uniform way for users to determine the actual max_sectors value for any raw SCSI transport. Signed-off-by: Alan Stern Acked-by: Jens Axboe Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 1079a2d251f24a7d9e7576217f5f738bc4218337 Author: Zachary Amsden Date: Tue Apr 10 08:53:08 2007 -0500 [SCSI] BusLogic: stop using check_region I got so sick of seing the check_region warnings from BusLogic.c I actually fixed it properly. Never use check region, reserve it before the probe with request region instead and check the error result; free region if setup fails. Should be functionally identical to the original except for fixing the potential race. Signed-off-by: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit ad1331a792f9f253bef362de9b6872c6b8f88c0c Author: Bastian Blank Date: Sat Apr 7 18:10:00 2007 +0900 [SCSI] tgt: fix rdma transfer bugs - ibmstgt hits the max rdma transfer size (128k). - libsrp returns a rdma transfer error properly. Signed-off-by: Bastian Blank Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4def7fa11208f779f22e6ba7344370b0220d3350 Author: Salyzyn, Mark Date: Fri Apr 13 08:35:25 2007 -0400 [SCSI] aacraid: fix aacraid not finding device Thanks for the help from Steve Fox and Duane Cox investigating this issue, I'd like to report that we found the problem. The issue is with the patch Steve Fox isolated below, by not accommodating older adapters properly and issuing a command they do not support when retrieving storage parameters about the arrays. This simple patch resolves the problem (and more accurately mimics the logic of the original code before the patch). Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 144ff8bf0d84a81806bfb5979b0a6b176b1fcace Author: Salyzyn, Mark Date: Wed Apr 4 15:49:54 2007 -0400 [SCSI] aacraid: Correct SMC products in aacraid.txt Correct a spelling mistake for the SMC product names (replace 'B' with 'R') in the Documentation/scsi/aacraid.txt file. This is a follow-up to a documentation patch '[PATCH] aacraid: Add SMC and SUN products to README' submitted and accepted to scsi-misc-2.6 on March 27 2007. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit ed773e66480fdcd06732eb2aa39362599dcd67fa Author: Brian King Date: Thu Mar 29 15:25:52 2007 -0500 [SCSI] scsi_error.c: Add EH Start Unit retry Currently, the scsi error handler will issue a START_UNIT command if the drive indicates it needs its motor started and the allow_restart flag is set in the scsi_device. If, after the scsi error handler invokes a host adapter reset due to error recovery, a device is in a unit attention state AND also needs a START_UNIT, that device will be placed offline. The disk array devices on an ipr RAID adapter will do exactly this when in a dual initiator configuration. This patch adds a single retry to the EH initiated START_UNIT. Signed-off-by: Brian King Patch modified and Signed-off-by: James Bottomley commit e6be133b68ae2c8f89d46da25ed7b31b84793e7e Author: Shashi Rao Date: Wed Mar 28 15:56:28 2007 -0700 [MTD] Fix fwh_lock locking This is on a custom board with a mapping driver access to an ST M50LPW080 chip. This chip is probed successfully with do_map_probe("jedec_probe",...). If I use the mtdchar interface to perform unlock->erase->program->lock on any of the 16 eraseblocks in the chip, the chip is left in FL_STATUS mode while the data structures believe that the chip is in FL_READY mode. Hence, any subsequent reads to any flash byte results in 0x80 being read. Signed-off-by: Shashi Rao Signed-off-by: David Woodhouse commit c2aecda79cd872679b9b11f9e59d797fb4c7d677 Author: Joakim Tjernlund Date: Tue Mar 27 13:32:09 2007 +0200 [JFFS2] Speed up mount for directly-mapped NOR flash Remove excessive scanning of empty flash after a clean marker for users of the point/unpoint method. cfi_cmdset_0001 uses point/unpoint by default iff flash mapping is linear. The speedup is several orders of magnitude if FS is less than half full. Signed-off-by: Joakim Tjernlund Signed-off-by: David Woodhouse commit 10731f83009e2556f98ffa5c7c2cbffe66dacfb3 Author: Artem Bityutskiy Date: Wed Apr 4 13:59:11 2007 +0300 [JFFS2] fix buffer sise calculations in jffs2_get_inode_nodes() In read inode we have an optimization which prevents one min. I/O unit (e.g. NAND page) to be read more then once. Namely, at the beginning we do not know which node type we read, so we read so we assume we read the directory entry, because it has the smallest node header. When we read it, we read up to the next min. I/O unit, just because if later we'll need to read more, we already have this data. If it turns out to be that the node is not directory entry, and we need more data, and we did not read it because it sits in the next min. I/O unit, we read the whole next (or several next) min. I/O unit(s). And if it happens to be that we read a data node, and we've read part of its data, we calculate partial CRC. So if later we need to check data CRC, we'll only read the rest of the data from further min. I/O units and continue CRC checking. This code was a bit messy and buggy. The bug was that it assumed relatively large min. I/O unit, so that the largest node header could overlap only one min. I/O unit boundary. This parch clean-ups the code a bit and fixes this bug. The patch was not tested on flash with small min. I/O unit, like NOR-ECC, nut it was tested on NAND with 512 bytes NAND page, so it at least does not break NAND. It was also tested with mtdram so it should not break NOR. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 7f762ab24ca2215b69a1395b5b58877f8282a089 Author: Adrian Hunter Date: Wed Apr 4 13:47:53 2007 +0300 [JFFS2] Disable summary after wbuf recovery After a write error, any data in the write buffer must be relocated. This is handled by the jffs2_wbuf_recover function. This function does not fix up the erase block summary information that is collected for writing at the end of the block, which results in an incorrect summary (or BUG if the summary was found to be empty). As the summary is not essential (it is an optimisation), it may be disabled for the current erase block when this situation arises. This patch does that. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 99c2594f0e13de1ca84f97efc3f9e7bc49f91e11 Author: Adrian Hunter Date: Thu Mar 29 11:00:47 2007 +0300 [JFFS2] Prevent list corruption when handling write errors If a write error occurs, the affected block is placed on the bad_used_list. In the case that the write error occured when writing summary data the block was also being placed on the dirty_list, which caused list corruption and ultimately a soft lockup in jffs2_mark_node_obsolete. This fixes that. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit a5ac8aeb29000fcab8d91848273a6616fcd039ee Author: Adrian Hunter Date: Mon Mar 19 12:49:11 2007 +0200 [MTD] nandsim: enhance nandsim to allow arbitrary NAND size A new module parameter has been added called 'overridesize', which overrides the size that would be determined by the ID bytes. 'overridesize' is specified in erase blocks and as the exponent of a power of two e.g. 5 means a size of 32 erase blocks. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 57aa6b545f6f772dd317ccd29bdada999b16a13d Author: Adrian Hunter Date: Mon Mar 19 12:40:41 2007 +0200 [MTD] nandsim: Enhance nandsim optionally to report wear information A new module parameter 'rptwear' specifies how many erases between reporting wear information. Zero means never. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 514087e74fb401a6621e8c836f4eaab87c269f24 Author: Adrian Hunter Date: Mon Mar 19 12:47:45 2007 +0200 [MTD] nandsim: enhance nandsim to simulate flash errors New module parameters have been added to nandsim to simulate: bitflips random bit flips badblocks blocks that are initially marked bad weakblocks blocks that fail to erase after a small number of erase cycles weakpages pages that fail to write after a small number of successful writes gravepages pages that fail to read after a small number of successful reads Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 2b77a0ed54eeea61937e7f71b0487b815edfbcdf Author: Adrian Hunter Date: Mon Mar 19 12:46:43 2007 +0200 [MTD] nandsim: add partition capability to nandsim Enhance nandsim to be able to create more than 1 partition. A new module parameter 'parts' may be used to specify partition sizes. Signed-off-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit b0afbbec4981417f79e05865a36e57abfc289002 Author: Artem Bityutskiy Date: Wed Mar 21 11:07:05 2007 +0200 [JFFS2] fix deadlock on error path When the MTD driver returns write failure, the following deadlock occurs: We are in __jffs2_flush_wbuf(), we hold &c->wbuf_sem. Write failure. jffs2_wbuf_recover()->jffs2_reserve_space_gc()->jffs2_do_reserve_space() ->jffs2_erase_pending_blocks()->jffs2_flash_read() and it tries to lock &c->wbuf_sem again. Deadlock. Reported-by: Adrian Hunter Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 4226b510371efd9cdc628663527d36aee36054a9 Author: Andre Renaud Date: Tue Apr 17 13:50:59 2007 -0400 [MTD] [NAND] Casting bug in nand_default_block_markbad There is a slight bug in nand_default_block_markbad, where the offset is cast to an integer, prior to being shifted. This means that on large offsets, it is incorrectly doing a signed shift & losing bits. Fixed this by doing the cast after the shift (as is done elsewhere in the code). Signed-off-by: Andre Renaud Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit 340ea370c2ce89d1c15fbf785460f2f74314ce58 Author: Hans-Jürgen Koch Date: Tue Apr 17 13:42:56 2007 -0400 [MTD] Driver for AT26Fxxx dataflash devices Add support for AT26Fxxx dataflash devices. These devices have a quite different commandset than the AT45xxx chips, which are handled by at91_dataflash.c, so a combined driver turned out to be more ugly than useful. Tested only on AT26F004. Signed-off-by: Hans-Jürgen Koch Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit 408b483d9cc2d839ecbc9134958c42814865081c Author: Thomas Gleixner Date: Fri Apr 13 19:50:48 2007 +0200 [MTD] Fix length comparison in MEMREADOOB The ops.len member is not initialized, because it is unused for this operation. The length check needs to use ops.ooblen instead Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit 1cf9827b6852d5d81130efbf2e777e50b7126d23 Author: Thomas Gleixner Date: Tue Apr 17 18:30:57 2007 +0100 [MTD] [NAND] Move ancient NAND chip support into a config option The support for obsolete ancient NAND chips adds .data size and one of the old ids conflicts with a modern one. Make the support for such chips depending on a config option. Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit 90424de8d0646eaf7cddbdb111edaf429dea6042 Author: Thomas Gleixner Date: Thu Apr 5 11:44:05 2007 +0200 [MTD] [NAND] Use ecc.read/write_page_raw consequently Use the functions in the ecc structure instead of the default ones, so the override by the board driver is effective also for software ecc code paths. Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit 8c60e5475d8ca614d712cd3e2fe7330480709e02 Author: sshahrom@micron.com Date: Wed Mar 21 18:48:02 2007 -0700 [MTD][NAND] Add Micron Manufacturer ID Add Micron Manufacturer ID. Signed-off-by: Shahrom Sharif Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit 53043002ef6cc0369fd5c5fa0a257f290ba6a3a6 Author: Thomas Gleixner Date: Thu Apr 5 11:09:01 2007 +0200 [JFFS2] check node crc before doing anything else Check the node CRC on scan before doing anything else with the node. Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit 873b6a230652803d1de480f5d3b802e4ffd0bcad Author: Ralf Baechle Date: Sat Mar 10 23:10:50 2007 +0000 [MTD] Fix dependencies for MIPS MTD drivers o A dependency on the processor architecture does not make sense; delete it. o The Alchemy and MTX drivers requires MTD_PARTITIONS and MTD_CFI to work, make those dependencies. Signed-off-by: Ralf Baechle Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit 19da63d1d2df393f8bf891d02e9960430f9178f8 Author: Ralf Baechle Date: Sat Mar 10 23:14:12 2007 +0000 [MTD] Alchemy cleanups Delete RCS $Id string and unused debug code. Signed-off-by: Ralf Baechle Signed-off-by: Thomas Gleixner Signed-off-by: David Woodhouse commit f142b3a4f64eca235f5890d9cecb68482f62ed26 Author: Jiri Kosina Date: Mon Apr 16 11:29:28 2007 +0200 HID: update copyright and authorship macro Updates Copyright and DRIVER_AUTHOR in HID and USB HID sources. Signed-off-by: Jiri Kosina commit 390cbb56a731546edc0f35fbc4c5045676467581 Author: Paul Mackerras Date: Fri Apr 13 10:46:21 2007 +1000 [POWERPC] Fix detection of loader-supplied initrd on OF platforms Commit 79c8541924a220964f9f2cbed31eaa9fdb042eab introduced code to move the initrd if it was in a place where it would get overwritten by the kernel image. Unfortunately this exposed the fact that the code that checks whether the values passed in r3 and r4 are intended to indicate the start address and size of an initrd image was not as thorough as the kernel's checks. The symptom is that on OF-based platforms, the bootwrapper can cause an exception which causes the system to drop back into OF. Previously it didn't matter so much if the code incorrectly thought that there was an initrd, since the values for start and size were just passed through to the kernel. Now the bootwrapper needs to apply the same checks as the kernel since it is now using the initrd data itself (in the process of copying it if necessary). This adds the code to do that. Signed-off-by: Paul Mackerras commit 98750261fbf6348517ef517f617014de8238475f Author: Kumar Gala Date: Thu Apr 12 18:01:34 2007 -0500 [POWERPC] Miscellaneous arch/powerpc Kconfig and platform/Kconfig cleanup * Cleaned up some whitespace in arch/powerpc/Kconfig * Moved sourcing of platforms/embedded6xx/Kconfig into platform/Kconfig * Moved sourcing of platforms/4xx/Kconfig into platform/Kconfig and disabled it * Removed EMBEDDEDBOOT since its not supported in arch/powerpc * Removed PC_KEYBOARD since its not used anywhere * Moved a few CONFIG options around in platform/Kconfig * Moved interrupt controllers into platform/Kconfig out of bus section Signed-off-by: Kumar Gala commit db9478086dc9c8b46b19f5308c49caff773110ff Author: Kumar Gala Date: Thu Apr 12 17:44:07 2007 -0500 [POWERPC] Convert 85xx platform to unified platform Kconfig Moved 85xx platform Kconfig over to being sourced by the unified arch/powerpc/platforms/Kconfig. Signed-off-by: Kumar Gala commit c8a55f3ddaa725a171385d9ffb416b183243856e Author: Kumar Gala Date: Thu Apr 12 17:35:54 2007 -0500 [POWERPC] Convert 8xx platform to unified platform Kconfig Moved 8xx platform Kconfig over to being sourced by the unified arch/powerpc/platforms/Kconfig. Also, cleaned up whitespace issues in 8xx Kconfig. Signed-off-by: Kumar Gala commit d6071f881fcd3c45c00ea1c2d13a5b01bbb6c412 Author: Kumar Gala Date: Thu Apr 12 16:53:32 2007 -0500 [POWERPC] Convert 82xx platform to unified platform Kconfig Moved 82xx platform Kconfig over to being sourced by the unified arch/powerpc/platforms/Kconfig. Also, cleaned up whitespace issues in 82xx Kconfig. Signed-off-by: Kumar Gala commit b5a4834692ab799a7a6b75a7f1e20e9f41a3126e Author: Kumar Gala Date: Thu Apr 12 15:46:21 2007 -0500 [POWERPC] Convert 83xx platform to unified platform Kconfig Moved 83xx platform Kconfig over to being sourced by the unified arch/powerpc/platforms/Kconfig. Signed-off-by: Kumar Gala commit 4a89f7fa7a32e35d3b5d956846cd2ae274db5ed2 Author: Kumar Gala Date: Thu Apr 12 15:41:26 2007 -0500 [POWERPC] Convert 86xx platform to unified platform Kconfig Moved 86xx platform Kconfig over to being sourced by the unified arch/powerpc/platforms/Kconfig. Signed-off-by: Kumar Gala commit 164a460d467a43e9f403cd4b76cec626dff99779 Author: Kumar Gala Date: Thu Apr 12 15:35:50 2007 -0500 [POWERPC] Ensure platform CONFIG options have correct dependencies We currently support TAU and CPU frequency scaling only on discrete (non-SOC) processors. Signed-off-by: Kumar Gala commit 0727702a3a6a9e33db4a4f9a038327d014753b6e Author: Joachim Fenkes Date: Thu Mar 22 17:00:46 2007 +0100 [POWERPC] ibmebus: change probe/remove interface from using loc-code to DT path In some cases, multiple OFDT nodes might share the same location code, so the location code is not a unique identifier for an OFDT node. Changed the ibmebus probe/remove interface to use the DT path of the device node instead of the location code. The DT path must be written into probe/remove right as it would appear in the "devspec" attribute of the ebus device: relative to the DT root, with a leading slash and without a trailing slash. One trailing newline will not hurt; multiple newlines will (like perl's chomp()). Example: Add a device "/proc/device-tree/foo@12345678" to ibmebus like this: echo /foo@12345678 > /sys/bus/ibmebus/probe Remove the device like this: echo /foo@12345678 > /sys/bus/ibmebus/remove Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit 370a908db154f51008cea41e67e7409efa251c7b Author: Benjamin Herrenschmidt Date: Thu Apr 12 15:30:23 2007 +1000 [POWERPC] DEBUG_PAGEALLOC for 64-bit Here's an implementation of DEBUG_PAGEALLOC for 64 bits powerpc. It applies on top of the 32 bits patch. Unlike Anton's previous attempt, I'm not using updatepp. I'm removing the hash entries from the bolted mapping (using a map in RAM of all the slots). Expensive but it doesn't really matter, does it ? :-) Memory hot-added doesn't benefit from this unless it's added at an address that is below end_of_DRAM() as calculated at boot time. Signed-off-by: Benjamin Herrenschmidt arch/powerpc/Kconfig.debug | 2 arch/powerpc/mm/hash_utils_64.c | 84 ++++++++++++++++++++++++++++++++++++++-- 2 files changed, 82 insertions(+), 4 deletions(-) Signed-off-by: Paul Mackerras commit 88df6e90fa9782dbf44d936e44649afe271e4790 Author: Benjamin Herrenschmidt Date: Thu Apr 12 15:30:22 2007 +1000 [POWERPC] DEBUG_PAGEALLOC for 32-bit Here's an implementation of DEBUG_PAGEALLOC for ppc32. It disables BAT mapping and is only tested with Hash table based processor though it shouldn't be too hard to adapt it to others. Signed-off-by: Benjamin Herrenschmidt arch/powerpc/Kconfig.debug | 9 ++++++ arch/powerpc/mm/init_32.c | 4 +++ arch/powerpc/mm/pgtable_32.c | 52 +++++++++++++++++++++++++++++++++++++++ arch/powerpc/mm/ppc_mmu_32.c | 4 ++- include/asm-powerpc/cacheflush.h | 6 ++++ 5 files changed, 74 insertions(+), 1 deletion(-) Signed-off-by: Paul Mackerras commit ee4f2ea48674b6c9d91bc854edc51a3e6a7168c4 Author: Benjamin Herrenschmidt Date: Thu Apr 12 15:30:22 2007 +1000 [POWERPC] Fix 32-bit mm operations when not using BATs On hash table based 32 bits powerpc's, the hash management code runs with a big spinlock. It's thus important that it never causes itself a hash fault. That code is generally safe (it does memory accesses in real mode among other things) with the exception of the actual access to the code itself. That is, the kernel text needs to be accessible without taking a hash miss exceptions. This is currently guaranteed by having a BAT register mapping part of the linear mapping permanently, which includes the kernel text. But this is not true if using the "nobats" kernel command line option (which can be useful for debugging) and will not be true when using DEBUG_PAGEALLOC implemented in a subsequent patch. This patch fixes this by pre-faulting in the hash table pages that hit the kernel text, and making sure we never evict such a page under hash pressure. Signed-off-by: Benjamin Herrenchmidt arch/powerpc/mm/hash_low_32.S | 22 ++++++++++++++++++++-- arch/powerpc/mm/mem.c | 3 --- arch/powerpc/mm/mmu_decl.h | 4 ++++ arch/powerpc/mm/pgtable_32.c | 11 +++++++---- 4 files changed, 31 insertions(+), 9 deletions(-) Signed-off-by: Paul Mackerras commit 3be4e6990edf65624cfcbf8f7e33810626b2eefa Author: Benjamin Herrenschmidt Date: Thu Apr 12 15:30:21 2007 +1000 [POWERPC] Cleanup 32-bit map_page The 32 bits map_page() function is used internally by the mm code for early mmu mappings and for ioremap. It should never be called for an address that already has a valid PTE or hash entry, so we add a BUG_ON for that and remove the useless flush_HPTE call. Signed-off-by: Benjamin Herrenschmidt arch/powerpc/mm/pgtable_32.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) Signed-off-by: Paul Mackerras commit a741e67969577163a4cfc78d7fd2753219087ef1 Author: Benjamin Herrenschmidt Date: Tue Apr 10 17:09:37 2007 +1000 [POWERPC] Make tlb flush batch use lazy MMU mode The current tlb flush code on powerpc 64 bits has a subtle race since we lost the page table lock due to the possible faulting in of new PTEs after a previous one has been removed but before the corresponding hash entry has been evicted, which can leads to all sort of fatal problems. This patch reworks the batch code completely. It doesn't use the mmu_gather stuff anymore. Instead, we use the lazy mmu hooks that were added by the paravirt code. They have the nice property that the enter/leave lazy mmu mode pair is always fully contained by the PTE lock for a given range of PTEs. Thus we can guarantee that all batches are flushed on a given CPU before it drops that lock. We also generalize batching for any PTE update that require a flush. Batching is now enabled on a CPU by arch_enter_lazy_mmu_mode() and disabled by arch_leave_lazy_mmu_mode(). The code epects that this is always contained within a PTE lock section so no preemption can happen and no PTE insertion in that range from another CPU. When batching is enabled on a CPU, every PTE updates that need a hash flush will use the batch for that flush. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e4ee3891db35aa9a069bb403c2a66a8fbfa274d6 Author: Benjamin Herrenschmidt Date: Wed Apr 11 16:13:19 2007 +1000 [POWERPC] Alignment exception uses __get/put_user_inatomic Make the alignment exception handler use the new _inatomic variants of __get/put_user. This fixes erroneous warnings in the very rare cases where we manage to have copy_tofrom_user_inatomic() trigger an alignment exception. Signed-off-by: Benjamin Herrenschmidt arch/powerpc/kernel/align.c | 56 ++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 25 deletions(-) Signed-off-by: Paul Mackerras commit e68c825bb016703eda94aac99be96de73b482d61 Author: Benjamin Herrenschmidt Date: Wed Apr 11 16:13:19 2007 +1000 [POWERPC] Add inatomic versions of __get_user and __put_user Those are needed by things like alignment exception fixup handlers since those can now be triggered by copy_tofrom_user_inatomic. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 06533e28c9e8b252fbfb6858647afe48b5147e16 Author: Milind Arun Choudhary Date: Wed Apr 4 22:07:40 2007 +0530 [POWERPC] Clean up unused ROUND_UP, NAME_OFFSET macros in arch/powerpc Unused ROUND_UP, NAME_OFFSET macro cleanup Signed-off-by: Milind Arun Choudhary Signed-off-by: Paul Mackerras commit e48059225c2edc6f1e5a2008261f1efdf606f247 Author: Olaf Hering Date: Wed Apr 4 18:20:04 2007 +0200 [POWERPC] Add correct interrupt property for pegasos ide The firmware assigns irq 20/21 to the VIA IDE device on Pegasos. But the required interrupt is 14/15. Maybe someone confused decimal vs. hexadecimal values. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 9c1a2bae0cc52b21121ea2380a2db0294ad0d8e7 Author: Stephen Rothwell Date: Tue Apr 3 22:50:59 2007 +1000 [POWERPC] Rename get_property to of_get_property: the last one This also fixes a bug where a property value was being modified in place. Signed-off-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d05c7a80cf39ae7d0f8d0c3e47c93d51fcd393d3 Author: Stephen Rothwell Date: Tue Apr 3 22:40:39 2007 +1000 [POWERPC] Rename get_property to of_get_property: drivers Signed-off-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c4f55b394505fff6ad831d17e36e02dde1c3a8d7 Author: Stephen Rothwell Date: Tue Apr 3 22:39:14 2007 +1000 [POWERPC] Rename get_property to of_get_property: sound Signed-off-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e2eb63927bfcb54232163bfec32440246fd44457 Author: Stephen Rothwell Date: Tue Apr 3 22:26:41 2007 +1000 [POWERPC] Rename get_property to of_get_property: arch/powerpc Signed-off-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ceef87782a9452eeeca774e65d7f4e06455780a3 Author: Stephen Rothwell Date: Tue Apr 3 22:24:06 2007 +1000 [POWERPC] Rename get_property to of_get_property: include Signed-off-by: Stephen Rothwell Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 721151d004dcf01a71b12bb6b893f9160284cf6e Author: Paul Mackerras Date: Tue Apr 3 21:24:02 2007 +1000 [POWERPC] Allow drivers to map individual 4k pages to userspace Some drivers have resources that they want to be able to map into userspace that are 4k in size. On a kernel configured with 64k pages we currently end up mapping the 4k we want plus another 60k of physical address space, which could contain anything. This can introduce security problems, for example in the case of an infiniband adaptor where the other 60k could contain registers that some other program is using for its communications. This patch adds a new function, remap_4k_pfn, which drivers can use to map a single 4k page to userspace regardless of whether the kernel is using a 4k or a 64k page size. Like remap_pfn_range, it would typically be called in a driver's mmap function. It only maps a single 4k page, which on a 64k page kernel appears replicated 16 times throughout a 64k page. On a 4k page kernel it reduces to a call to remap_pfn_range. The way this works on a 64k kernel is that a new bit, _PAGE_4K_PFN, gets set on the linux PTE. This alters the way that __hash_page_4K computes the real address to put in the HPTE. The RPN field of the linux PTE becomes the 4k RPN directly rather than being interpreted as a 64k RPN. Since the RPN field is 32 bits, this means that physical addresses being mapped with remap_4k_pfn have to be below 2^44, i.e. 0x100000000000. The patch also factors out the code in arch/powerpc/mm/hash_utils_64.c that deals with demoting a process to use 4k pages into one function that gets called in the various different places where we need to do that. There were some discrepancies between exactly what was done in the various places, such as a call to spu_flush_all_slbs in one case but not in others. Signed-off-by: Paul Mackerras commit 1a38147ed0737a9c01dbf5f2ca47fd2a0aa5cb55 Author: Stephen Rothwell Date: Tue Apr 3 10:58:52 2007 +1000 [POWERPC] Make struct property's value a void * Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9213feea6e197f8507ec855337798cc3388f5570 Author: Stephen Rothwell Date: Tue Apr 3 10:57:48 2007 +1000 [POWERPC] Rename prom_n_size_cells to of_n_size_cells This is more consistent and gets us closer to the Sparc code. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit a8bda5dd4f99d6469f3c0dc362db3cce8a4d6416 Author: Stephen Rothwell Date: Tue Apr 3 10:56:50 2007 +1000 [POWERPC] Rename prom_n_addr_cells to of_n_addr_cells This is more consistent and gets us closer to the Sparc code. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7a92f74f98bde8498c98aad6cac5da5a87dd0bf4 Author: Stephen Rothwell Date: Tue Apr 3 10:55:39 2007 +1000 [POWERPC] Rename device_is_compatible to of_device_is_compatible This is more consistent and gets us closer to the Sparc code. We add a device_is_compatible define for compatibility during the change over. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0e56efc7dcd1eb5004363e52bdbe801783245638 Author: Stephen Rothwell Date: Tue Apr 3 10:54:01 2007 +1000 [POWERPC] Rename get_property to of_get_property This is more consistent and gets us closer to the Sparc code. We add a get_property define for compatibility during the change over. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit a7edd0e676d51145ae634a2acf7a447e319200fa Author: Stephen Rothwell Date: Tue Apr 3 10:52:17 2007 +1000 [POWERPC] get_property returns const This just tidies up some of the remains. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 6c2d046980299d52d78b2738ad7f11fc593dea75 Author: Olaf Hering Date: Mon Apr 2 14:33:27 2007 +0200 [POWERPC] Fix modalias content in sysfs for macio devices Currently the buf pointer is advanced too far during each iteration. Also terminate the string with a newline. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 9414715a7bbb45450015e9bc2676d85d919d08d4 Author: Olaf Hering Date: Sat Mar 31 17:08:23 2007 +0200 [POWERPC] Autodetect serial console on efika Efika boards have to be booted with console=ttyPSC0 unless there is a graphics card plugged in. Detect if the firmware stdout is the serial connector. Signed-off-by: Olaf Hering Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 02cc51149f99e3c6c106e1e16dcc2e016b1bc3b5 Author: Milton Miller Date: Thu Mar 29 07:31:41 2007 -0600 [POWERPC] bootwrapper: Decompress less, check more Our kernels put everything in the first load segment, and we read that. Instead of decompressing to the end of the gzip stream or supplied image and hoping we get it all, decompress the expected size and complain if it is not available. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 1383a34fafeb9f49975fc33783960729fbd2cddf Author: Milton Miller Date: Wed Mar 28 02:21:04 2007 -0600 [POWERPC] bootwrapper: no-gzip fixes Commit a9903811bf8d130a26004f9cb27b66513a267908 missed two uses of the the .gz suffix in the wrapper script and didn't clean the additonal possibly cached files. Signed-off-by: Milton Miller Acked-by: Scott Wood Signed-off-by: Paul Mackerras commit f4bdbfc41b3cad813745f64fb849c298770da517 Author: Milton Miller Date: Wed Mar 28 02:21:02 2007 -0600 [POWERPC] bootwrapper: missing relocation in crt0.S crt0.S had provisions to provide run address relocaton to got2 and cache flush, but not on the bss clear or stack pointer load. Apply the same fixup for them. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit d6f1d2a9a83f447af6c210c8268ce117772da77f Author: Mark A. Greer Date: Tue Mar 27 15:31:41 2007 -0700 [POWERPC] Routine to find the devtree node of a linux,phandle Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 88e687313e683ee006152d611b95f40900e3bce0 Author: Mark A. Greer Date: Tue Mar 27 15:29:50 2007 -0700 [POWERPC] Move bootwrapper ELF parsing routines to a file The ELF parsing routines local to arch/powerpc/boot/main.c are useful to other callers therefore move them to their own file. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 5e41763ae9b4b6335fab88da85600f16d7a5a7b5 Author: Giuliano Pochini Date: Mon Mar 26 21:40:28 2007 -0800 [POWERPC] Fix breakage caused by 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc inverted the sense for enabling hotplug CPU controls without reference to any other architecture other than i386, ia64 and PowerPC. This left everyone else without hotplug CPU control. Fix powerpc for this brain damage. (akpm: patch adapted from rmk's ARM fix. Changelog stolen from rmk) Signed-off-by: Giuliano Pochini Cc: Benjamin Herrenschmidt Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 6590a0197cc89e663d884503073dbe235b3bd860 Author: Robert P. J. Day Date: Mon Mar 26 21:40:27 2007 -0800 [POWERPC] Remove unused header file: arch/ppc/syslib/cpc710.h. Signed-off-by: Robert P. J. Day Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 0fbbeba2427a842a1a4ac9f379ca2ca37ea907eb Author: Bart Van Assche Date: Mon Mar 26 21:40:29 2007 -0800 [POWERPC] Ocotea board: ntpd complains that the frequency error exceeds the tolerance Lifted from http://bugzilla.kernel.org/show_bug.cgi?id=8182 Steps to reproduce: - Boot an Ocotea board with the mainline 2.6.20.1 kernel. - Create an /etc/ntp.conf file with at least one NTP server and iburst mode set. - Issue the command "ntpd -g". - Wait about two minutes. - Verify ntpd's status via "ntpq -pn" and by looking in /var/log/ntp. This fixes this problem by adjusting the expected clock frequency. Cc: Kumar Gala Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 6e1af384f1c1742ae6d86bbf779d4fa020c509bc Author: Scott Wood Date: Mon Mar 26 15:52:24 2007 -0500 [POWERPC] bootwrapper: Add dt_xlate_reg(), and use it to find serial registers. dt_xlate_reg() uses the ranges properties of a node's parentage to find the absolute physical address of the node's registers. The ns16550 driver uses this when no virtual-reg property is found. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit dbf8eefa2b814d6922492120bfa46d4bc42ceb20 Author: Christoph Hellwig Date: Fri Mar 23 15:12:26 2007 +0100 [POWERPC] spufs: don't yield CPU in spu_yield There is no reason to yield the CPU in spu_yield - if the backing thread reenters spu_run it gets added to the end of the runqueue for it's priority. So the yield is just a slowdown for the case where we have higher priority contexts waiting. Signed-off-by: Christoph Hellwig Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 28066ae91b2050d79531a6f2d5e35dd8f666bafd Author: Geert Uytterhoeven Date: Fri Mar 23 14:06:43 2007 +0100 [POWERPC] CBE thermal support on PS3 I wanted to enable CBE_THERM on PS3. So I had to enable CBE_RAS first. But the resulting kernel doesn't link, as cbe_regs.c isn't compiled for non-PPC_CELL_NATIVE. CBE_RAS should depend on PPC_CELL_NATIVE; this makes it so. Signed-off-by: Geert Uytterhoeven Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit a5bcbcaff24185695b296d4aa2278c5f890a7987 Author: Sonny Rao Date: Thu Mar 22 22:44:31 2007 -0400 [POWERPC] Remove stale comment from head_64.S This is now inaccurate because we may not have entered prom_init() and r3 is overwritten immediately anyway. Signed-off-by: Sonny Rao Signed-off-by: Paul Mackerras commit 8545cd201134860b1eb72578419f5cbd4c0789c0 Author: Olaf Hering Date: Fri Mar 23 01:11:59 2007 +0100 [POWERPC] Remove unused inclusion of linux/ide.h Remove unneeded inclusion of linux/ide.h It does not compile with CONFIG_BLOCK=n. Remove asm/ide.h from ksyms file, it gets included earlier via linux/ide.h. Compile tested with all defconfig files. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit e51b85dcf56c87772b47a0781e6cfa88848b50b8 Author: Tony Vroon Date: Thu Mar 22 23:31:08 2007 +0000 [POWERPC] PMU LED whitelisting of PowerMac 7,2 and 7,3 This allows the PMU LED on both a PowerMac 7,2 (Dual G5 2.0GHz, June 2003) and a PowerMac 7,3 (Dual G5 2.0GHz, June 2004) to be controlled. The physical LED is never off, unlike an iBook/PowerBook LED. It is rather dim ("off") or very bright ("on"). Signed-off-by: Tony Vroon Signed-off-by: Paul Mackerras commit c3b9d9ab96becbd901bd31db0ea8174fcc02e83f Author: Olaf Hering Date: Thu Mar 22 23:14:07 2007 +0100 [POWERPC] Fix link errors when EEH is disabled Fix link errors with CONFIG_EEH=n: arch/powerpc/platforms/built-in.o: In function `.pcibios_fixup_new_pci_devices': (.text+0x41c8): undefined reference to `.eeh_add_device_tree_late' arch/powerpc/platforms/built-in.o: In function `.init_phb_dynamic': (.text+0x4280): undefined reference to `.eeh_add_device_tree_early' arch/powerpc/platforms/built-in.o: In function `.pcibios_remove_pci_devices': (.text+0x42fc): undefined reference to `.eeh_remove_bus_device' arch/powerpc/platforms/built-in.o: In function `.pcibios_add_pci_devices': (.text+0x43c0): undefined reference to `.eeh_add_device_tree_early' arch/powerpc/platforms/built-in.o: In function `.pSeries_final_fixup': (.init.text+0xb4): undefined reference to `.pci_addr_cache_build' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 3af82a8b00f98ca54e4c860eeb2b9ede6d8cadf4 Author: David Gibson Date: Thu Mar 22 17:02:21 2007 +1100 [POWERPC] Clean up zImage handling of the command line This cleans up how the zImage code manipulates the kernel command line. Notable improvements from the old handling: - Command line manipulation is consolidated into a new prep_cmdline() function, rather than being scattered across start() and some helper functions - Less stack space use: we use just a single global command line buffer, which can be initialized by an external tool as before, we no longer need another command line sized buffer on the stack. - Easier to support platforms whose firmware passes a commandline, but not a device tree. Platform code can now point new loader_info fields to the firmware's command line, rather than having to do early manipulation of the /chosen bootargs property which may then be rewritten again by the core. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 27fbaa9702e548e74dffd21855769f6cedad42bd Author: David Gibson Date: Thu Mar 22 17:02:21 2007 +1100 [POWERPC] Add device tree utility functions to zImage This patch adds a library of useful device tree manipulation functions to the zImage library, for use by platform code. These functions are based on the hooks already in dt_ops, so they're not dependent on a particular device tree implementation. This patch also slightly streamlines the code in main.c using these new functions. This is a consolidation of my work in this area with Scott Wood's patches to a very similar end. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 3467bfd340f9ad48f3732415533a2e9c18240b62 Author: Olof Johansson Date: Thu Mar 22 09:34:13 2007 -0500 [POWERPC] Use mtocrf instruction in asm when CONFIG_POWER4_ONLY=y mtocrf is a faster single-field mtcrf (move to condition register fields) instruction available in POWER4 and later processors. It can make quite a difference in performance on some implementations, so use it for CONFIG_POWER4_ONLY builds. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 569975591c5530fdc9c7a3c45122e5e46f075a74 Author: Jake Moilanen Date: Thu Mar 29 08:44:02 2007 -0500 [POWERPC] DMA 4GB boundary protection There are many adapters which cannot handle DMAing across any 4 GB boundary. For instance, the latest Emulex adapters. This normally is not an issue as firmware gives dma-windows under 4gigs. However, some of the new System-P boxes have dma-windows above 4gigs, and this present a problem. During initialization of the IOMMU tables, the last entry at each 4GB boundary is marked as used. Thus no mappings can cross the boundary. If a table ends at a 4GB boundary, the entry is not marked as used. A boot option to remove this 4GB protection is given w/ protect4gb=off. This exposes the potential issue for driver and hardware development purposes. Signed-off-by: Jake Moilanen Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 1f9209cfe06be715b82075e79c9aab3c5b714010 Author: Sylvain Munaut Date: Mon Feb 12 23:13:27 2007 +0100 [POWERPC] Add uevent handler for of_platform_bus Adding this handler allow userspace to properly handle the module autoloading. The generation of the uevent itself is now common to all bus using of_device, so not much code here. Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit cc11645b9d04c3df5180620bded522e14e619604 Author: Sylvain Munaut Date: Mon Feb 12 23:13:26 2007 +0100 [POWERPC] powermac: Use the new of_device common uevent handler The generation of the uevent is now common to all bus using of_device. Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit eb0cb8a07e320ed3237789cc4f29858338d14d8e Author: Sylvain Munaut Date: Mon Feb 12 23:13:25 2007 +0100 [POWERPC] Add a unified uevent handler for bus based on of_device This common uevent handler allow the several bus types based on of_device to generate the uevent properly and avoiding code duplication. This handlers take a struct device as argument and can therefore be used as the uevent call directly if no special treatment is needed for the bus. Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit e049d1ca3094f3d1d94617f456a9961202f96e3a Merge: edfac96... 80584ff... Author: Paul Mackerras Date: Fri Apr 13 03:50:03 2007 +1000 Merge branch 'linux-2.6' into for-2.6.22 commit 1b118799cceab69d80c162bc661c77fdc33dd756 Author: Dmitry Torokhov Date: Thu Apr 12 01:36:34 2007 -0400 Input: lifebook - activate 6-byte protocol on select models It appears that if we turn on 6-byte Lifebook protocol on Panasonic CF-28 its touchpad is left alone and generates standard 3-byte PS/2 data stream with relative packets instead of being converted in 3-byte Lifebook protocol with absolute coordinates - in other words what get what we need to distinguish between touchscreen and touchpad. Signed-off-by: Dmitry Torokhov commit e7afcd1bf784dde4cd6c6efbf9a4709626cc8e08 Author: Dmitry Torokhov Date: Thu Apr 12 01:36:25 2007 -0400 Input: lifebook - work properly on Panasonic CF-18 Panasonic CF18 has an active multiplexing controller with touchscreen connected to one port and a touchpad to another. Use "phys" from serio port to activate lifebook protoocol only on the port that has touchscreen connected to it. Signed-off-by: Dmitry Torokhov commit d0a0515fc30b55d4b09395d44762c5f41d6d02d5 Author: Dmitry Torokhov Date: Thu Apr 12 01:36:12 2007 -0400 Input: cobalt buttons - separate device and driver registration Create platform device for cobalt buttons as part of arch setup. This makes the driver follow current driver model more closely. Signed-off-by: Dmitry Torokhov Acked-by: Yoichi Yuasa commit 0de9550971a0ee614ea4f06655e8a49aa3a942a8 Author: Karl Pickett Date: Thu Apr 12 01:35:59 2007 -0400 Input: ati_remote - make button repeat sensitivity configurable ati_remote causes repeats after only .23 seconds with my remote and makes it hard to use comfortably. Make a precise way of setting the repeat delay time in milliseconds and default it to 500ms. The old behavior can be had by setting repeat_delay = 0. Signed-off-by: Karl Pickett Signed-off-by: Vincent Vanackere Signed-off-by: Dmitry Torokhov commit b7fd4a0aa52c95309219240bf9c5fd210a6e7061 Author: Thomas Gleixner Date: Thu Apr 12 01:35:51 2007 -0400 Input: pxa27x - do not use deprecated SA_INTERRUPT flag IRQF_DISABLED is the proper name. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit b5b16c5296c3276bb409a948173d557241b74379 Author: Cliff Brake Date: Thu Apr 12 01:35:43 2007 -0400 Input: ucb1400 - make delays configurable This patch adds module parameters for several timing values used in the driver. These values can vary based on the hardware design and how much capacitive filtering there is on the touch panel inputs, and the resistance of the panel. Signed-off-by: Cliff Brake Signed-off-by: Dmitry Torokhov commit 293e6392d72dfaef1f6aef605769869512bec45d Author: Dmitry Torokhov Date: Thu Apr 12 01:35:32 2007 -0400 Input: misc devices - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov commit 935e658e89678a7e3427b90cd7a1c86025d95bfe Author: Dmitry Torokhov Date: Thu Apr 12 01:35:26 2007 -0400 Input: joysticks - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov commit a5394fb075a80212765ee3cd4a7842bdccf5fc0a Author: Dmitry Torokhov Date: Thu Apr 12 01:35:14 2007 -0400 Input: touchscreens - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov commit 28aa7f1c8178db8b277a6e11325ef09adea8ac46 Author: Dmitry Torokhov Date: Thu Apr 12 01:35:09 2007 -0400 Input: mice - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov commit c0f82d570c84f2592367e350a92ebd71e72ba68a Author: Dmitry Torokhov Date: Thu Apr 12 01:35:03 2007 -0400 Input: USB devices - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov commit 469ba4dff954389f58cebb3df645e24433dcd565 Author: Dmitry Torokhov Date: Thu Apr 12 01:34:58 2007 -0400 Input: keyboards - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Signed-off-by: Dmitry Torokhov commit 88a447a030bfec9f1e8666daf27d9d73c8c92448 Author: Dmitry Torokhov Date: Thu Apr 12 01:34:47 2007 -0400 Input: prepare to switching to struct device In preparation to switching to struct device and class device going away provide an alias to allow drivers that create devices to use either input_dev->cdev.dev or input_dev->dev.parent to put them into sysfs tree. The former will go away once conversion to struct device is complete. Signed-off-by: Dmitry Torokhov commit 7791bdae71243050132ede7ea1558c828b69458f Author: Dmitry Torokhov Date: Thu Apr 12 01:34:39 2007 -0400 Input: drivers/usb/input - don't access dev->private directly Use input_get_drvdata() and input_set_drvdata() instead. Signed-off-by: Dmitry Torokhov commit 373f9713dccc8fc8e076157001a60133455c0550 Author: Dmitry Torokhov Date: Thu Apr 12 01:34:33 2007 -0400 Input: drivers/input/misc - don't access dev->private directly Use input_get_drvdata() and input_set_drvdata() instead. Signed-off-by: Dmitry Torokhov commit b356872fa48a3f6b6f187444b0ea55e6e21c3575 Author: Dmitry Torokhov Date: Thu Apr 12 01:34:20 2007 -0400 Input: drivers/input/keyboard - don't access dev->private directly Use input_get_drvdata() and input_set_drvdata() instead. Signed-off-by: Dmitry Torokhov commit 8715c1cfadf8cce24e79d254f95bd4a84c7741f0 Author: Dmitry Torokhov Date: Thu Apr 12 01:34:14 2007 -0400 Input: drivers/input/joystick - don't access dev->private directly Use input_get_drvdata() and input_set_drvdata() instead. Signed-off-by: Dmitry Torokhov commit 40b9b0b82e664bfdf26fd33014d52e23ff80b9f4 Author: Dmitry Torokhov Date: Thu Apr 12 01:34:08 2007 -0400 Input: drivers/input/touchscreen - don't access dev->private directly Use input_get_drvdata() and input_set_drvdata() instead. Signed-off-by: Dmitry Torokhov commit 0ca1804f2e4d78e6a037da23f96aa56f762e78fb Author: Dmitry Torokhov Date: Thu Apr 12 01:34:02 2007 -0400 Input: drivers/input/mice - don't access dev->private directly Signed-off-by: Dmitry Torokhov commit 3abccf36081ac827cf5d14db6837117f088937eb Author: Dmitry Torokhov Date: Thu Apr 12 01:33:51 2007 -0400 Input: add input_{get|set}_drvdata() helpers Add helpers to set up and access driver-specific data in input device structure. Once conversion to struct driver is complete we will drop input_dev->private and will use dev_get_drvdata() and dev_set_drvdata(). Signed-off-by: Dmitry Torokhov commit 5014186de89708d0e9eed60526b698d5b786b707 Author: Dmitry Torokhov Date: Thu Apr 12 01:33:39 2007 -0400 Input: USB devices - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit db61a9124880a1d79b7b320d4b6bef717f23e485 Author: Dmitry Torokhov Date: Thu Apr 12 01:33:28 2007 -0400 Input: remove old USB touchscreen drivers itmtoch, mtouchusb and touchkitusb have been replaced with composite usbtouchscreen driver and can be removed now. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 21298f7153f71c7fa70247518851f7aac41c4781 Author: Dmitry Torokhov Date: Thu Apr 12 01:33:19 2007 -0400 Input: logips2pp - add model 1 information It turns out I had an old 2-button Logitech mouse that responds to Logitech's queries with model of 1. Signed-off-by: Dmitry Torokhov commit a1421d3c780c373d5f74a0ab99b0652041d61876 Author: Peter Stokes Date: Thu Apr 12 01:33:10 2007 -0400 Input: add logical channel support for ATI Remote Wonder II The ATI Remote Wonder II can be configured with one of 16 unique logical channels. Allowing up to 16 remotes to be used independently within range of each other. This change adds functionality to configure the receiver and filter the input data to respond or exclude remotes configured with different logical channels. Signed-off-by: Peter Stokes Acked-by: Ville Syrjala Signed-off-by: Greg Kroah-Hartman Signed-off-by: Dmitry Torokhov commit 1b726a02d97cef2471521ae6947416f7374c6590 Author: Dmitry Torokhov Date: Thu Apr 12 01:33:00 2007 -0400 Input: gtco - handle errors from input_register_device() Also fix URB leak in gtco_probe error path, formatting fixes. Signed-off-by: Dmitry Torokhov commit 55d29c98418df737e87dbdfc36c78d3ed99a6698 Author: Eric Piel Date: Thu Apr 12 01:32:49 2007 -0400 Input: wistron - declare keymaps as initdata As the number of keymaps increases and is very unlikely to reduce, this patch helps to reduce memory consumption by declaring all keymaps as __initdata and copying right keymap during DMI detection. On x86 this make the module size at runtime going from 10616 to 9428: a bit more than 1kb saved. Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 7b0a4cd7601774d1312f477a879f86b0968880fd Author: Eric Piel Date: Thu Apr 12 01:32:41 2007 -0400 Input: wistron - introduce generic keymap It turns out that the keymaps in the wistron driver are almost the same, the main difference being some keys which may not exist and leds which might not be present. Therefore it's possible to write a generic keymap which would allow the use of an unknown keyboard with little drawbacks. The user can select it specifying the parameter "keymap=generic". Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 6480e2a275ff8ff48ae23a011616fcf819ed7a4e Author: Eric Piel Date: Thu Apr 12 01:32:34 2007 -0400 Input: wistron - add acerhk laptop database Acerhk supports already a lot of laptops. Lets import its database so that everyone can benefit of the work of Olaf Tauber. Only the "tm_new" laptops were imported. "tm_old" laptops could be possible but requires more testing and probably only few laptops are still alive. "dritek" laptops should probably be imported into a different driver. Also compress the keymaps by fitting each entry on an int. Most of the dmi matching was written based on google searches, so it's rather prone to errors. That's why I'm asking people to confirm it works. Support to generate switch input events was added as some laptops indicate lid open/close through this interface. This adds the following hardware: Acer TravelMate 370 Acer TravelMate 380 Acer TravelMate C300 Acer TravelMate C100 Acer TravelMate C110 Acer TravelMate 250 Acer TravelMate 350 Acer TravelMate 620 Acer TravelMate 630 Acer TravelMate 220 Acer TravelMate 230 Acer TravelMate 260 Acer TravelMate 280 Acer TravelMate 360 Acer TravelMate 2100 Acer TravelMate 2410 Acer Aspire 1500 Acer Aspire 1600 Acer Aspire 3020 Acer Aspire 5020 Medion MD 2900 Medion MD 40100 Medion MD 95400 Medion MD 96500 Fujitsu Siemens Amilo 7820 Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 688897b0d4910e097f34c0e263d649cf2036eb45 Author: Dmitry Torokhov Date: Thu Apr 12 01:32:22 2007 -0400 Input: logips2pp - ignore mice reporting model as 0 There are mice reporting to logitech's queries with model of 0. Do not claim that these are Logitech mice. Signed-off-by: Dmitry Torokhov commit 8d04ddb64c7bf62aec1102fddc5336a68bcaebe9 Author: Dmitry Torokhov Date: Thu Apr 12 01:32:09 2007 -0400 Input: i8042 - disable interfaces when switching to legacy mode Disable both keyboard and auxiliary interfaces before switching to legacy mode to prevent atkbd from getting "empty" interrupts. Signed-off-by: Dmitry Torokhov commit 0d9d93c411c9351ba186f5ec910b10da7c1d9d14 Author: Dmitry Torokhov Date: Thu Apr 12 01:31:55 2007 -0400 Input: mousedev - fix sudden warps with touchpads Pete Zaitcev reports that with his touchpad, if he lifts the finger and places it elsewhere, the pointer sometimes warps dramatically. This happens because we don't store coordinates unless we detect a touch so sometimes we have stale coordinates in queue (from where the finger left the pad) and averaging makes cursor to jump across the screen. The solution is to always store the latest coordinates. Signed-off-by: Dmitry Torokhov commit f42649e84831efc69d5f621f1c36a39b4e384a99 Author: Dmitry Torokhov Date: Thu Apr 12 01:31:13 2007 -0400 Input: ALPS - handle errors from input_register_device() Signed-off-by: Dmitry Torokhov commit f3901d9e3bf2b57604358eea62f3414000772e2a Author: Robert P. J. Day Date: Thu Apr 12 01:31:05 2007 -0400 Input: remove no longer used power.c handler Delete the never-compiled source file drivers/input/power.c, and remove its entry from the corresponding Makefile, as there is no Kconfig file that refers to the config option INPUT_POWER Signed-off-by: Robert P. J. Day Signed-off-by: Dmitry Torokhov commit 9e35d20663344b38339ffb6127ba08285f3397a9 Author: Dmitry Torokhov Date: Thu Apr 12 01:30:52 2007 -0400 Input: keyboard handler - use printk_ratelimit() Use printk_ratelimit() to protect ourselves from buggy drivers or devices endlessly generating invalid events. Suggested by Andrew Morton. Signed-off-by: Dmitry Torokhov commit 887cc127233f34e833d074380f433a04de207563 Author: Dmitry Torokhov Date: Thu Apr 12 01:30:41 2007 -0400 Input: synaptics - export model bits Encode synaptics model in psmouse->model so it will be exported via sysfs as input_dev->id.version and become visible for applications. Signed-off-by: Dmitry Torokhov commit 598972d4fb39c8a0826b396e45dc2a8c1dbe4f11 Author: Johann Deneux Date: Thu Apr 12 01:30:24 2007 -0400 Input: iforce - use usb_kill_urb instead of usb_unlink_urb Using usb_unlink_urb can cause iforce_open to fail when called soon after iforce_release. Also updated my email address and replaced calls to printk() by dbg(), warn(), info(), err()... Signed-off-by: Johann Deneux Signed-off-by: Dmitry Torokhov commit d542ed82fdc72cf63549deec19e86ee4addf2499 Author: Dmitry Torokhov Date: Thu Apr 12 01:30:15 2007 -0400 Input: handlers - handle errors from input_open_device() Signed-off-by: Dmitry Torokhov commit d0ffb9be866519775da19c0a6790f5431c1a8dc6 Author: Dmitry Torokhov Date: Thu Apr 12 01:30:00 2007 -0400 Input: handlers - rename 'list' to 'client' The naming convention in input handlers was very confusing - client stuctures were called lists, regular lists were also called lists making anyone looking at the code go mad. Signed-off-by: Dmitry Torokhov commit 5b2a08262a8c952fef008154933953f083ca5766 Author: Dmitry Torokhov Date: Thu Apr 12 01:29:46 2007 -0400 Input: rework handle creation code - consolidate code for binding handlers to a device - return error codes from handlers connect() methods back to input core and log failures Signed-off-by: Dmitry Torokhov commit 46386b587086c8d2698222a031bf749688464032 Author: Simon Budig Date: Mon Mar 12 13:52:04 2007 +0100 HID: introduce proper zeroing of unused bits in output reports Some HID devices are looking on the unused bits in the HID reports they receive. This is violating the specification, but we want to make those devices work. Well-behaving devices are unaffected, as they don't care about the unused bits. If bitsused % 8 is 0 all bits in data[] get used and we don't need to clear anything. Otherwise (bitsused % 8) bits of the last byte get used. By shifting 1 for (bitsused % 8) bits and subtracting 1 we create a mask consisting of (bitsused % 8) ones and remaining zeroes. By ANDing we clear the upper unused bits. Signed-off-by: Simon Budig Signed-off-by: Jiri Kosina commit 42cfb632f0210caa7d979666058075b06fc4680c Author: Sam Liddicott Date: Tue Apr 10 15:50:45 2007 +0200 USB HID: add support for WiseGroup MP-8800 Quad Joypad This adds support for WiseGroup Quad Joypad (0x0925/0x8800). The same quirks as for Dual Joypad (0x0925/0x8866) are needed. Signed-off-by: Sam Liddicott Signed-off-by: Jiri Kosina commit 320c01500c6ecb189c577b921a2357c7a56aaebc Author: Jiri Kosina Date: Tue Apr 10 16:08:34 2007 +0200 USB HID: add FF support for Logitech Force 3D Pro Joystick This patch adds support for Logitech Force 3D Pro Joystick (0x046d/0xc286) to hid-lgff driver. Device ID reported by Richard Bolkey Signed-off-by: Jiri Kosina commit 713c8aad6b7202671ce1ac6109f6b48d8223e938 Author: Pete Zaitcev Date: Fri Apr 6 14:33:18 2007 +0200 USB HID: numlock quirk for dell W7658 keyboard On Dell W7658 keyboard, when BIOS sets NumLock LED on, it survives the takeover by kernel and thus confuses users. Eating of an increasibly scarce quirk bit is unfortunate. We do it for safety, given the history of nervous input devices which crash if anything unusual happens. Signed-off-by: Pete Zaitcev Signed-off-by: Jiri Kosina commit 85cbea3952135ecad4b47cb6cc57e25279129e2d Author: Jiri Kosina Date: Thu Apr 5 12:23:09 2007 +0200 USB HID: Logitech MX3000 keyboard needs report descriptor quirk Logitech MX3000 contains report descriptor which doesn't cover usages above 0x28c, but emits such usages. Report descriptor needs fixing in the very same way as with receivers shipped with S510 keyboards. This patch also adds a few mappings for multimedia keys that S510 didn't emit. Signed-off-by: Jiri Kosina commit bf892e60d0b32989bc55ef64cd6557a49806f0cf Author: Jiri Kosina Date: Wed Apr 4 10:56:12 2007 +0200 USB HID: extend quirk for Logitech S510 keyboard Logitech S510 keyboard is shipped with USB receivers with various product ids, all need their report descriptor to be fixed. This adds PID 0xc50c. Reported by Christophe Colombier in kernel.org bugzilla #7352 Signed-off-by: Jiri Kosina commit 5d6341c606b9eb62fbaa7b2a0da82ac851bf0fc4 Author: Dmitry Torokhov Date: Wed Apr 4 10:40:57 2007 +0200 USB HID: usbkbd/usbmouse - handle errors when registering devices Handle errors when registering input devices in usbkbd/usbmouse. Signed-off-by: Dmitry Torokhov Signed-off-by: Jiri Kosina commit 66df514b1dbf51a0a02a8abe1219e46e49710aea Author: Daniel P. Engel Date: Tue Apr 3 23:43:46 2007 +0200 USB HID: add QUIRK_HIDDEV for Belkin Flip KVM Add HID_QUIRK_HIDDEV for the Belkin Flip USB KVM, which provides for software control of switching via a HID class interface. It overloads three HID LED usages, two of which aren't mapped in the ev_dev input subsection, and which it doesn't make sense to map. In order to force the creation of a hiddev device for controlling the Flip, this quirk flag is needed. Signed-off-by: Daniel P. Engel Signed-off-by: Jiri Kosina commit daa0bc902c8e9476673b47d3b59c9bb922843563 Author: Chris Clayton Date: Sun Apr 1 23:07:55 2007 +0200 HID: enable dead keys on a belkin wireless keyboard Belkin Wireless keyboard, model number F8E849KYBD, USB ID 1020:0006, FCCID: K7SF8E849KYBD emits usages 0x03a-0x03c from Consumer usage page. As of HUT v1.12, these are marked as reserved. If any conflict arises later, the mapping could be made conditional on VID/PID. Signed-off-by: Chris Clayton Signed-off-by: Jiri Kosina commit 38d4b89e274c7eed99fcf6c3f8686f70edd6ab7c Author: Ronny Peine Date: Tue Mar 27 14:37:44 2007 +0200 USB HID: Thustmaster firestorm dual power v1 support This patch adds support for version 1 of Thustmaster firestorm dual power (0x44f/0xb300). Signed-off-by: Ronny Peine Signed-off-by: Jiri Kosina commit 4cbe7d28f2c63e801d651b3b56f953a5ff5ae70f Author: Paul Walmsley Date: Tue Mar 20 19:23:16 2007 +0100 USB HID: specify explicit size for hid_blacklist.quirks Explicitly specify the size of the hid_blacklist quirks member, to guard against surprises on architectures where unsigned ints aren't 32 bits long. Signed-off-by: Paul Walmsley Signed-off-by: Jiri Kosina commit 5e2a55f25d255a356bdaf2cb04c71b8d76c307a8 Author: Alan Stern Date: Tue Mar 20 19:03:31 2007 +0100 USB HID: fix retry & reset logic The USB HID driver fails to reset its error-retry timeout when there has been a long time interval between I/O errors with no successful URB completions in the meantime. As a result, the very next error would trigger an immediate reset, even if it was a chance event occurring long after the previous error. More USB keyboards and mice than one might expect end up getting I/O errors. Almost always this results from hardware problems of one sort of another. For example, people attach the device to a USB extension cable, which degrades the signal. Or they simply have poor quality cables to begin with. Or they use a KVM switch which doesn't handle USB messages correctly. Etc... There have been reports from several users in which these I/O errors would occur more or less randomly, at intervals ranging from seconds to minutes. The error-handling code in hid-core.c was originally meant for situations where a single outage would persist for a few hundred ms (electromagnetic interference, for example). It didn't work right when these more sporadic errors occurred, because of a flaw in the logic which this patch fixes. This patch (as873) fixes that oversight. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina commit 48b4554aca28f721d3dfbab077c05032b3d1cd31 Author: Jiri Kosina Date: Tue Apr 3 23:39:37 2007 +0200 USB HID: consolidate vendor/product ids The vendor/product IDs for the purposes of hid_blacklist got scathered around the hid-core.c in a rather random way over the time. Move all the related definitions at the beginning of the file, and make them sorted again. Sort also hid_blacklist properly. Signed-off-by: Jiri Kosina commit 6db3dfefa28739e7c9c60809c3a5aef7cc088b97 Author: Jiri Kosina Date: Thu Mar 8 16:47:49 2007 +0100 USB HID: move usbhid code from drivers/usb/input to drivers/hid/usbhid Separate usbhid code into dedicated drivers/hid/usbhid directory as discussed previously with Greg, so that it eases maintaineance process. Signed-off-by: Jiri Kosina Signed-off-by: Greg Kroah-Hartman commit 7b153f366867a3b70daeaf3c6074e4a0594057a7 Author: malattia@linux.it Date: Mon Apr 9 19:31:25 2007 +0200 sony-laptop: sonypi backward compatibility code Compatibility code to allow old sonypi bound userspace apps to still work. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 3d2b8a9f2c26bc0fe03b3545d07245798b1b81b9 Author: malattia@linux.it Date: Mon Apr 9 19:31:16 2007 +0200 sony-laptop: update documentation and Kconfig help Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit f6119b027578c21b544a98fd67e5f0b7e4fbea7d Author: malattia@linux.it Date: Mon Apr 9 19:31:06 2007 +0200 sony-laptop: sanitize printks Unify printks to resemble a unique driver. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 49a11deade3c1d9e2d7c88d25899b3a9174d048e Author: malattia@linux.it Date: Mon Apr 9 19:28:56 2007 +0200 sony-laptop: additional platform attributes coming from SNY6001 Register additional platform attributes coming from the SPIC (sonypi) driver. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 1549ee6fb122400c0767b5f3da2c42abbc4f750a Author: malattia@linux.it Date: Mon Apr 9 10:19:08 2007 +0200 sony-laptop: Unify the input subsystem event forwarding SNC and SPIC events are forwarded to the same input devices and are thus handled together. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 33a04454527edd33d4a6332a2944d2b4f46fbb18 Author: malattia@linux.it Date: Mon Apr 9 19:26:03 2007 +0200 sony-laptop: Add SNY6001 device handling (sonypi reimplementation) Reimplement sonypi using ACPI only functions. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit b9a218b738c5c2387f666731b81a4376021d681e Author: malattia@linux.it Date: Mon Apr 9 10:19:06 2007 +0200 sony-laptop: Add debug macros also used by the sonypi reimplementation Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 56b8756b3bc8812837a21f3e066dba1b489e071e Author: malattia@linux.it Date: Mon Apr 9 10:19:05 2007 +0200 sony-laptop: Prepare the platform driver for multiple users. Both the SNC and SPIC device drivers will create attributes and thus there's the need to have an internal usage count to avoid re-registering or de-registering at the wrong time. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 59b19106f3f20487093ea06c8220426147cf7835 Author: malattia@linux.it Date: Mon Apr 9 10:19:04 2007 +0200 sony-laptop: Remove ACPI references from variable and function names. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 5268df2ead6def933ace27ab4d46f67d2989b905 Author: Steve French Date: Fri Apr 6 19:28:16 2007 +0000 [CIFS] Add write perm for usr to file on windows should remove r/o dos attr Remove read only dos attribute on chmod when adding any write permission (ie on any of user/group/other (not all of user/group/other ie 0222) when mounted to windows. Suggested by: Urs Fleisch Signed-off-by: Urs Fleisch Signed-off-by: Steve French commit 3a9f462f6d07ab6f26a347120e173e945139befd Author: Steve French Date: Wed Apr 4 17:10:24 2007 +0000 [CIFS] Remove unnecessary parm to cifs_reopen_file Also expand debug entry to show which character on a failed Unicode mapping. Acked-by: Shaggy Signed-off-by: Steve French commit aaf737adb6937339494d5a7111f0433cd9676db8 Author: Igor Mammedov Date: Tue Apr 3 19:16:43 2007 +0000 [CIFS] Switch cifsd to kthread_run from kernel_thread cifsd was the only cifs thread that had not been switched to the newer kthread interface Signed-off-by: Igor Mammedov Signed-off-by: Wilhelm Meier Signed-off-by: Steve French commit c33f8d32746db12ba353b0a05b25f7893a0ac344 Author: Christoph Hellwig Date: Mon Apr 2 18:47:20 2007 +0000 [CIFS] Remove unnecessary checks file->f_path.dentry or file->f_path.dentry.d_inode can't be NULL since at least ten years, similar for all but very few arguments passed in from the VFS. Signed-off-by: Christoph Hellwig Signed-off-by: Steve French commit 0ecbc81adfcb9f15f86b05ff576b342ce81bbef8 Author: Rodolfo Giometti Date: Mon Mar 26 21:45:43 2007 -0800 [MTD] [NOR] Support for auto locking flash on power up Auto unlock sectors on resume for auto locking flash on power up. Signed-off-by: Rodolfo Giometti Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 8dc64fca75b631142f282047d7f6ae9e8af82543 Author: Robert P. J. Day Date: Mon Mar 26 21:45:41 2007 -0800 [JFFS2] Delete everything related to obsolete JFFS2_PROC option Delete everything related to the apparently non-existent kernel config option JFFS2_PROC. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 68aa0fa87f6d4b2f5e8ad39ecaec8bba9137bb3d Author: Marc St-Jean Date: Mon Mar 26 21:45:41 2007 -0800 [MTD] PMC MSP71xx flash/rootfs mappings Add flash and rootfs mappings for the PMC-Sierra MSP71xx devices. This patch references some platform support files previously submitted to the linux-mips@linux-mips.org list. Signed-off-by: Marc St-Jean Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 18a6598f2d3bb7275dadba77df5f06bc996a77d4 Author: Salyzyn, Mark Date: Fri Mar 30 10:30:48 2007 -0400 [SCSI] aacraid: [Fastboot] Panics for AACRAID driver during 'insmod' for kexec test. Attached is the patch I feel will address this issue. As an added 'perk' I have also added the code to detect if the controller was previously initialized for interrupted operations by ANY operating system should the reset_devices kernel parameter not be set and we are dealing with a naïve kexec without the addition of this kernel parameter. The reset handler is also improved. Related to reset operations, but not pertinent specifically to this issue, I have also altered the handling somewhat so that we reset the adapter if we feel it is taking too long (three minutes) to start up. We have not unit tested the reset_devices flag propagation to this driver code, nor have we unit tested the check for the interrupted operations under the conditions of a naively issued kexec. We are submitting this modified driver to our Q/A department for integration testing in our current programs. I would appreciate an ACK to this patch should it resolve the issue described in this thread... Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit aa2e07b4c2addaa4ad4bd7a6ee205565e83c2a14 Author: Brian King Date: Thu Mar 29 12:43:57 2007 -0500 [SCSI] ipr: Driver version to 2.3.2 Bump driver version. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 51b1c7e19e18e84a44277951dd5c4c4617330baa Author: Brian King Date: Thu Mar 29 12:43:50 2007 -0500 [SCSI] ipr: Faster sg list fetch Improve overall command performance by embedding the scatterlist in the command block used by the adapter. This decreases the overall number of DMAs required for a single command. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 0feeed823af05ca556087a89fdcf644f156f73b8 Author: Brian King Date: Thu Mar 29 12:43:43 2007 -0500 [SCSI] ipr: Return better qc_issue errors If qc_issue fails for some reason, return a better error to libata. Signed-off-by: Brian King Signed-off-by: James Bottomley commit e435340c4b583b4472dad1178029b8e3e7dafd0b Author: Brian King Date: Thu Mar 29 12:43:37 2007 -0500 [SCSI] ipr: Disrupt device error Add entry in ipr error translation table for an error received when a device is forced into the failed state by the user. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 933916f365f9ef1268c058bfaba2d4dcf26e4fd0 Author: Brian King Date: Thu Mar 29 12:43:30 2007 -0500 [SCSI] ipr: Improve async error logging level control Add the ability to control how much error data gets logged on a per error basis. Signed-off-by: Brian King Signed-off-by: James Bottomley commit a9aedb098437655b7b78d66e0e28405830cbdbef Author: Brian King Date: Thu Mar 29 12:43:23 2007 -0500 [SCSI] ipr: PCI unblock config access fix Fix to make sure user config accesses get re-enabled if the PCI config write to start BIST fails. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 24d6f2b50bd34d0da540a9e6f71c4b6ab25f4b93 Author: Brian King Date: Thu Mar 29 12:43:17 2007 -0500 [SCSI] ipr: Fix for oops following SATA request sense This patch fixes a problem discovered on a system with some bad SATA devices attached. If a command to a SATAPI device times out and the device gets reset as part of error recovery, its possible that ipr will set err_mask to indicate a device error has occurred. If this happens, a request sense will get issued by libata. Since scsi core thinks this scsi command is now completed, because the device reset handler completed successfully, scsi core will free the associated scsi command, which may cause an oops when that request sense is completed later by ipr. This patch ensures that any commands that get aborted as a result of a device reset set err_mask appropriately so that the request sense does not get sent. Signed-off-by: Brian King Signed-off-by: James Bottomley commit b0692dd4d7e90ce5cf1241731c6e80118402e3b4 Author: Brian King Date: Thu Mar 29 12:43:09 2007 -0500 [SCSI] ipr: Log error for SAS dual path switch For ipr SAS adapters that support dual pathing, this patch modifies ipr to log an error when a path fails. Signed-off-by: Brian King Signed-off-by: James Bottomley commit cc9bd5d4256ecc1b6e0448febb4be29db1a91256 Author: Brian King Date: Thu Mar 29 12:43:01 2007 -0500 [SCSI] ipr: Enable logging of debug error data for all devices The ipr driver has a sysfs attribute which can be used to adjust the logging level of the driver for error events. The error response data for commands can be dumped by increasing the logging level of the ipr driver. This currently only works for JBOD passthrough devices. This patch enables this function for all devices, including RAID devices, to aid in debugging problems. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 185eb31cc242f415800a1a06dca522d27c269279 Author: Brian King Date: Thu Mar 29 12:42:53 2007 -0500 [SCSI] ipr: Add new PCI-E IDs to device table Adds support for some new PCI-E ipr adapters. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 7d2267bb9d94aabfa316a13d04b0bce2fb51ff83 Author: Brian King Date: Thu Mar 29 12:42:47 2007 -0500 [SCSI] ipr: Remove auto RAID create module parameter Remove the auto RAID 0 array creation module parameter, since support for this function has been removed from the firmware. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 5469cb5bdef76dbe18865fff30975f0694fff2c2 Author: Brian King Date: Thu Mar 29 12:42:40 2007 -0500 [SCSI] ipr: Make adapter operational timeout be per adapter type Some ipr adapters may take longer than others to come operational. This patch makes this timeout different for different adapters, while still preserving the module parameter which can be used to globally override the default. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 0979c84b4affaf924a894380dd0069638b64de03 Author: Robert Jennings Date: Thu Mar 29 12:30:40 2007 -0500 [SCSI] ibmvscsi: add slave_configure to allow device restart Fixed the kernel-doc comment for ibmvscsi_slave_configure. Thanks to Randy Dunlap for pointing this out. Adding a slave_configure function for the driver. Now the disks can be restarted by the scsi mid-layer when the are disconnected and reconnected. Signed-off-by: "Robert Jennings" Signed-off-by: "Santiago Leon" Signed-off-by: James Bottomley commit a897ff2a6386ac4368ba41db18b626afd903f9d8 Author: Robert Jennings Date: Wed Mar 28 12:45:46 2007 -0500 [SCSI] ibmvscsi: allow for dynamic adjustment of server request_limit The request limit calculations used previously on the client failed to mirror the state of the server. Additionally, when a value < 3 was provided there could be problems setting can_queue and handling abort and reset commands. Signed-off-by: "Robert Jennings" Signed-off-by: Santiago Leon Signed-off-by: James Bottomley commit a45c863f02c808107172b4b2975e1130c7da66d6 Author: Salyzyn, Mark Date: Wed Mar 28 13:44:54 2007 -0400 [SCSI] aacraid: fix print of Firmware Build Date and add TSID The Adapter build date that is to be printed on instantiation was not displayed as a result of the supplemental adapter information structure not being in sync with the Firmware; the driver took an early test cycle version that had a miss-sized padded region at the head and the structure was not re-checked at the end of qualification. The Build Date was not a priority and is merely a cosmetic enhancement, and the wrong location for the start of the structure member would not induce any side-effect problems. We updated the structure to match the actual format, and added the TSID (Tech Support Identification) value print, should it be present, to the adapter instantiation announcements during driver load. This later enhancement should improve the relationship between Service folk & Tech Support if the printed value of the TSID found it's way into the circular file labeled G... Neither of these values show in sysfs (yet). Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 74ee9d52cf8b524edf8ae6222c8bfcc6df6f5954 Author: Salyzyn, Mark Date: Wed Mar 28 09:22:39 2007 -0400 [SCSI] aacraid: remove unused or deprecated firmware constants Just sweeping the floor clean in one spot. Some of these constants have never been used in the driver or in the firmware (and thus are meaningless). Triggered this patch because I discovered one of the unused constants was actually incorrect and figured it was better to clean them out than correct and update. There are no side effects at all regarding this patch, it is purely cosmetic. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 9e3738f3c83f534d82f1d7d5191dcecb2425f7f9 Author: Christof Schmitt Date: Wed Mar 28 14:20:40 2007 +0200 [SCSI] zfcp: fix initialization of FSF timer Correctly initialize the timer for FSF requests with jiffies + timeout. Cc: Swen Schillig Acked-by: Heiko Carstens Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 665db93b8a5fc6a11e2ace6b20569420a353d037 Author: Bernhard Walle Date: Wed Mar 28 00:49:49 2007 +0200 [SCSI] qla2xxx: Remove duplicate pci_disable_device() call On the path qla2x00_probe_one() -> probe_failed -> qla2x00_free_device(), pci_disable_device() is executed twice, once in qla2x00_free_device() and once in qla2x00_probe_one(). This patch removes the unnecessary call. Signed-off-by: Bernhard Walle Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4dfb7cbef856689caebd0f498dbd140d1b79954f Author: Salyzyn, Mark Date: Tue Mar 27 15:07:28 2007 -0400 [SCSI] aacraid: resolve compiler warnings using ptrdiff_t Unsigned long is not always the same size as a pointer, namely on 32 bit systems with 64 bit address space. Ptrdiff_t is the same size as a pointer in all configurations. By using ptrdiff_t we can mitigate the warning messages on these configurations. There should be no side effects of this patch. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 10c9a017f1bd84a7aedaea7029cd5224863197db Author: Salyzyn, Mark Date: Tue Mar 27 11:51:34 2007 -0400 [SCSI] aacraid: Add SMC and SUN products to README Add SMC and SUN products to aacraid documentation Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit e3e0ca5143d7a78522df30b75bd1acfcf80c2a38 Author: Adrian Bunk Date: Mon Mar 26 21:59:29 2007 -0800 [SCSI] aic7xxx: make functions static Signed-off-by: Adrian Bunk Acked-by: Hannes Reinecke Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 9695a25dbff788f26225966c43425e8bae7f06e8 Author: Adrian Bunk Date: Mon Mar 26 21:59:35 2007 -0800 [SCSI] aacraid: cleanups - proper prototypes for global code in aacraid.h - aac_rx_start_adapter() can now become static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 3cfff0fc74bf5ac8213b5a2be583bf675ccd9511 Author: Adrian Bunk Date: Mon Mar 26 21:59:25 2007 -0800 [SCSI] dpt_i2o: remove dead code The Coverity checker spotted this dead code introduced by commit a07f353701acae77e023f6270e8af353b37af7c4. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 301b01aa621305e8d59a2eb948b4ad7bf26be86e Author: Adrian Bunk Date: Mon Mar 26 21:59:46 2007 -0800 [SCSI] fusion: make mptspi_target_destroy() static Signed-off-by: Adrian Bunk Acked-by: Eric Moore Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit b73c3d778647bffff6dbcbe41e8fc01215a22194 Author: Robert P. J. Day Date: Mon Mar 26 21:59:33 2007 -0800 [SCSI] Remove some unused SCSI-related kernel config variables. Remove the unused SCSI-related kernel config variables SCSI_NCR53C8XX_PROFILE_SUPPORT SCSI_NCR53C8XX_PROFILE 53C700_IO_MAPPED AIC79XX_ENABLE_RD_STRM AIC7XXX_PROBE_EISA_VL Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0d06b281a1001ed40cace820d99eeb7d4453adb7 Author: Henne Date: Mon Mar 26 21:59:28 2007 -0800 [SCSI] dpt: whitespace cleanup Remove some trailing whitespaces and some replace whitespaces with tabs. Signed-off-by: Henrik Kretzschmar Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 023ae6199938fc79a51d2616903b44b07fe338b6 Author: Robert P. J. Day Date: Mon Mar 26 16:06:45 2007 -0400 [SCSI] pcmcia: allow drivers to be built non-modular Remove the Kconfig requirement that the PCMCIA SCSI drivers be built only as modules, and allow them to be built into the kernel. Signed-off-by: Robert P. J. Day Acked-by: Dominik Brodowski Signed-off-by: James Bottomley commit 912d4e8851389eee5c289ce0a7953e9067198232 Author: Salyzyn, Mark Date: Mon Mar 26 09:21:14 2007 -0400 [SCSI] aacraid: Add likely() and unlikely() Add some likely() and unlikely() compiler hints in some of the aacraid hardware interface layers. There should be no operational side effects resulting from this patch and the changes should be mostly benign on x86 platforms. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 1196ae025ba4a36eb9e6baab57ba903d36139ff2 Author: Richard Lary Date: Thu Mar 22 10:53:19 2007 -0500 [SCSI] qla2xxx: fix for byteswap in fc_host fabric_name This patch fixes byte swap issue in qla2xxx driver to fix corrupted fabric_name passed to /sys/class/fc_host/host*/fabric_name. Signed-off-by: Richard Lary Acked-by: Seokmann Ju Signed-off-by: James Bottomley commit 07da60c1f45a6a5f563429e88e8c94c82f9132eb Author: Anton Blanchard Date: Wed Mar 21 08:41:47 2007 -0500 [SCSI] lpfc: fix oops when parsing dodgy VPD We have seen two cases where VPD on an emulex card has been incorrect and we end up walking off the end of memory. It looks like someone made an update (increased the length of a string) without increasing the Length field. Then we do: Length -= (3+i); And since Length is unsigned it becomes very large and we loop forever in the encapsulating: while (Length > 0) { If we make Length signed then we fall out of the loop and proceed on. Its important to note we have only seen this in the lab and it may be the only two cases of this in existence, but since the rest of the code has been written to be resilient against bad VPD we may as well fix this too. Signed-off-by: Anton Blanchard Acked-by: James Smart Signed-off-by: James Bottomley commit 756970ad4bb93027a60da2de9b43d094b7f387a2 Author: Henrique de Moraes Holschuh Date: Thu Mar 29 01:58:44 2007 -0300 ACPI: thinkpad-acpi: update MAINTAINERS Update MAINTAINERS file for the ibm-acpi -> thinkpad-acpi renaming. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 643f12dbb660e139fbaea268f3e3ce4d7d594b8f Author: Henrique de Moraes Holschuh Date: Thu Mar 29 01:58:43 2007 -0300 ACPI: thinkpad-acpi: cleanup after rename Cleanup documentation, driver strings and other misc stuff, now that the driver is named "thinkpad-acpi". Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d903ac5455102b13d0e28d6a39f640175fb4cd4d Author: Henrique de Moraes Holschuh Date: Thu Mar 29 01:58:42 2007 -0300 ACPI: thinkpad-acpi: add compatibility MODULE_ALIAS entry Add a ibm_acpi module alias for userpace, so that modprobe ibm_acpi will still load the correct driver. This alias can be removed in the future, probably two years from now if nothing warrants removing it sooner. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 85998248b2e8c6ae7d3ad1fa7b059aed22205ec4 Author: Henrique de Moraes Holschuh Date: Thu Mar 29 01:58:41 2007 -0300 ACPI: thinkpad-acpi: cleanup Kconfig for thinkpad-acpi Since ibm-acpi was renamed to thinkpad-acpi, rename and update its Kconfig entries and Kconfig-related symbols accordingly. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit f21f85de4b3b9ad4a671fb19a889c16db2ea38b2 Author: Henrique de Moraes Holschuh Date: Thu Mar 29 01:58:40 2007 -0300 ACPI: ibm-acpi: rename driver to thinkpad-acpi Rename the ibm-acpi driver to thinkpad-acpi. ThinkPads are not even made by IBM anymore, so it is high time to rename the driver... The name thinkpad-acpi was used sometime ago by a thinkpad-specific hotkey driver by Erik Rigtorp, around the 2.6.8-2.6.10 time frame. The driver apparently never got merged into mainline (it did make some trips through -mm). ibm-acpi was merged soon after, making its debut in 2.6.10. The reuse of the thinkpad-acpi name shouldn't be a problem as far as user confusion goes, as Erik's thinkpad-acpi apparently didn't get widespread use in the Linux ThinkPad community and most hits for thinkpad-acpi in google point to ibm-acpi anyway. Erik, if you read this, please consider the reuse of the thinkpad-acpi name as a compliment to your effort to make ThinkPads more useful to all of us. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit edfac96a92b88d3b0b53e3f8231b74beee9ecd1d Author: Jon Loeliger Date: Tue Mar 20 11:18:46 2007 -0500 [POWERPC] 85xx: Add initial MPC8544DS basic port defconfig. Signed-off-by: Xianghua Xiao Signed-off-by: Roy Zang Signed-off-by: York Sun Signed-off-by: Andy Fleming Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit d93daf848161043c06b665bbbd4bc22ef0247065 Author: Jon Loeliger Date: Tue Mar 20 11:19:10 2007 -0500 [POWERPC] 85xx: Add initial MPC8544 DS platform files. This patch provides the basic MPC8544 DS platform code and config. Follow-up patches will add peripherals such as PCI and SATA. Signed-off-by: Xianghua Xiao Signed-off-by: Roy Zang Signed-off-by: York Sun Signed-off-by: Andy Fleming Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 23308c54d559a210019a576c5741cfb762af69d6 Author: Michael Barkowski Date: Mon Mar 19 09:15:28 2007 -0500 [POWERPC] 83xx: Add MPC832x RDB board support. Add support for the MPC8323E Reference Development Board (RDB). The board is a mini-ITX reference board with 64M DDR2, 16M flash, USB, PCI, 10/100 ethernet, serial, and phone ports. Signed-off-by: Michael Barkowski Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 62a6d7fd9bc1d85f9aae734c46234e88fa839db0 Author: Randy Dunlap Date: Mon Mar 26 21:38:49 2007 -0800 ACPI: dock: use NULL for pointer Use NULL instead of 0 for pointers: drivers/acpi/dock.c:677:75: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 1a4d9399a921c287eb175d29f288d1d92d02b302 Author: Kumar Gala Date: Thu Mar 15 10:01:14 2007 -0500 [POWERPC] 83xx: Removed dead header mpc832x_mds.h was exporting a function that didn't exist anymore. Once removed the header had no purpose. Signed-off-by: Kumar Gala commit de74f70360353929009f8611f3bb8fbb4f030527 Author: Timur Tabi Date: Thu Mar 15 09:48:53 2007 -0500 [POWERPC] QE: fix invalid pointer usage in ucc_slow_init() In two places, ucc_slow_init() passes a physical address instead of the virtual address to functions that were expecting the latter, causing a kernel panic. us_info->regs contains the physical address of the UCC register set. The registers are ioremap'd to kernel space, and the virtual pointers are stored in us_regs. The code was using us_info->regs when it should have been using us_regs. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 8b03336752e664880182a8f50e1807edc7fe93d4 Author: Robert P. J. Day Date: Sat Mar 10 16:17:28 2007 -0500 [POWERPC] 83xx: Delete unused header file. Delete apparently unused header file arch/powerpc/platforms/83xx/mpc834x_itx.h. Signed-off-by: Robert P. J. Day Signed-off-by: Kumar Gala commit 7d776cb596994219584257eb5956b87628e5deaf Author: Timur Tabi Date: Mon Mar 12 15:40:27 2007 -0500 [POWERPC] QE: automatically select QE options Change the Kconfig files so that the Freescale QE options are automatically selected if a QE device is selected. Previously, you'd need to manually select UCC_FAST if you want any "fast" UCC devices, such as Gigabit Ethernet. Now, the QE Gigabit Ethernet option is always available if the device has a QE, and UCC_FAST is automatically enabled. A side-effect is that the "QE Options" menu no longer exists. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 9eb90a0c3b333e27db74412833a36da3f27da6a3 Author: Zang Roy-r61911 Date: Fri Mar 9 13:27:28 2007 +0800 [POWERPC] 86xx/85xx: Unify Freescale PCI Express memory map registers structure Unify PCI Express memory map registers structure define to arch/pwoerpc/sysdev/fsl_pcie.h for Freescale 85xx/86xx processor family. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 3e4e97f42e134e1fe46bdf36bd5d874f5b4f8755 Author: Jon Loeliger Date: Wed Mar 7 14:48:45 2007 -0600 [POWERPC] 86xx/85xx: Move 8641 PCI-Express to arch/powerpc/sysdev/fsl_pcie.c. This move sets the stage for the use of generic PCI Express code in 85xx and 86xx parts from FSL. Subsequent patches for 8548 and 8544 will be able to use this shared code. Signed-off-by: Jon Loeliger Acked-by: Andy Fleming Signed-off-by: Kumar Gala commit e0e3c8d432ab9503b167e53d60b145f0e26bb1e2 Author: Zhang Wei Date: Wed Mar 7 11:47:41 2007 -0600 [POWERPC] 86xx: Added 2nd PCI-Ex controller support for MPC8641 HPCN to DTS. Signed-off-by: Zhang Wei Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit e5a2072bd48eb4a35c57a8ec45897ac2db3a3f82 Author: David Gibson Date: Thu Mar 22 17:02:21 2007 +1100 [POWERPC] New reg.h for the zImage This patch adds a reg.h to the zImage code, with common definitions for accessing system registers. For now, this includes functions for retrieving the PVR and the stack pointer. This patch then uses the new reg.h to let start() display the running stack address without having to explicitly pass the stack as a parameter from the asm code. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit fae59c39e885148acf42320fe0d4ebf4cb3e9231 Author: David Gibson Date: Thu Mar 22 16:59:13 2007 +1100 [POWERPC] Add gcc format warnings to zImage printf() This patch adds the correct attributes to the zImage's versions of printf to make gcc generate format string mismatch warnings. It also corrects several minor problems with format strings in the zImage thus discovered. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 9da82a6dee9db4cd5ae7a74ab4f51afb52b6efb9 Author: Milton Miller Date: Wed Mar 21 09:03:23 2007 -0600 [POWERPC] boot: Use a common zImage rule Before the plethora of platforms gets any worse, establish a common rule to invoke the wrapper for any platform. Add arguments to the rule for initrd, dts, dtb, etc. Show example usage with initrd. Create default rules for zImage, and zImage.initrd. initrd targets depend on the ramdisk file. Don't consider targets for zImage.initrd that are targets for zImage. This means uImage is no longer considered a target for zImage.initrd. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 5d7960ffb8157acdf92223e32d34da504578aca0 Author: Milton Miller Date: Wed Mar 21 09:03:10 2007 -0600 [POWERPC] boot: clean rule fixes Now that obj-boot is in targets, we can remove (twice) it from clean-files. zImage.initrd was missing, move zImage nearer where its used, and place zImage.initrd next to it. Remove non-ported zImage.sandpoint, and add auto-generation of unconfigured zImage.initrd* like image-. Signed-off-by: Milton Miller -- Testing: did a few builds and cleans Signed-off-by: Paul Mackerras commit 235fd8354528a7dabb3b6050ca4d201549a6f858 Author: Milton Miller Date: Wed Mar 21 09:02:37 2007 -0600 [POWERPC] boot: Use FORCE Kbuild if_changed and if_changed_dep require the use of the dummy FORCE to get the dependencies right. Also add to targets to get correct behavior. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 160cc3ece727c5158facec9937c2a5b10013bae1 Author: Milton Miller Date: Wed Mar 21 09:02:53 2007 -0600 [POWERPC] bootwrapper: Allow platforms to call library zImage_start Some platforms might need to run some code before the zImage start, but could otherwise use the bss clear and relocation code. Export the start address strongly as zImage_start_lib. Signed-off-by: Milton Miller Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 6a923216aac01d0f3eeea606377b81541f1a2773 Author: Milton Miller Date: Wed Mar 21 09:02:44 2007 -0600 [POWERPC] bootwrapper: Add a fatal error helper Add a macro fatal that calls printf then exit. User must include stdio.h. Typically replaces 3 lines with 1, although I added back some whitespace. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 3771f2d9a46ca3b57e473afe929196efad7f3aa6 Merge: 70b52b3... 4330f5d... Author: Paul Mackerras Date: Mon Mar 26 14:08:19 2007 +1000 Merge branch 'ppc_kconfig' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into for-2.6.22 commit 3ede41c718c7845905231019e42d05a3ed329515 Author: Henrique de Moraes Holschuh Date: Fri Mar 23 17:34:00 2007 -0300 ACPI: ibm-acpi: move driver to drivers/misc hierarchy ibm-acpi is not an ACPICA driver, so move it to drivers/misc as per Len Brown's request. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 38f996ed21089fa4ae40526a5f428e3c792ea561 Author: Henrique de Moraes Holschuh Date: Fri Mar 23 17:33:59 2007 -0300 ACPI: ibm-acpi: update documentation Update documentation header, and relocate a hunk of text that was missplaced. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a62bc916cf48caaf9efa2fed20440fd617647c6c Author: Henrique de Moraes Holschuh Date: Fri Mar 23 17:33:58 2007 -0300 ACPI: ibm-acpi: update copyright notice Update copyright and license info on the source code comments. No functional changes. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 56b6aeb05890f219895197f5166637b3d7a6f679 Author: Henrique de Moraes Holschuh Date: Fri Mar 23 17:33:57 2007 -0300 ACPI: ibm-acpi: organize code Shuffle code around to better organize the driver code inside the ibm-acpi.c file. This patch adds no functional changes. It is pure fluff that will make me a bit more productive. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1406cdd1760743106278c1f02a0f445159c8f400 Author: Henrique de Moraes Holschuh Date: Fri Mar 23 17:33:56 2007 -0300 ACPI: ibm-acpi: add header file Add a (private) header file for ibm-acpi, and move type definitions and ThinkPad driver constants to the new header file. This patch has no functional changes. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit e062e0343871a41e8ec408f1c1e8ac3b0310da9d Author: Henrique de Moraes Holschuh Date: Fri Mar 23 17:33:55 2007 -0300 ACPI: ibm-acpi: rename some identifiers Rename some identifiers so that they are more in tune with the rest of the driver code, or less generic. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 837ca6ddb440c186eaa8e01b69486581d3457f2c Author: Henrique de Moraes Holschuh Date: Fri Mar 23 17:33:54 2007 -0300 ACPI: ibm-acpi: kill trailing whitespace I shall protect the ibm-acpi city against the invasion of the barbarian blanks! To the unforgiving jaws of sed s/[[:blank:]]\+$// they go! Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 70b52b3869a31aab85241a1f998f9943a3905637 Author: Johannes Berg Date: Mon Mar 19 11:53:55 2007 +0100 [POWERPC] powermac: disallow pmu sleep notifiers from aborting sleep Tracing through the code, no current PMU sleep notifier can abort sleep. Since no new PMU sleep notifiers should be added, this patch simplifies the code and removes the ability to abort sleep. Signed-off-by: Johannes Berg Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 17e638bc28f2fdc9c0d3eebfb80fce43827b8d12 Author: Johannes Berg Date: Mon Mar 19 11:53:53 2007 +0100 [POWERPC] Generic time suspend/resume code This removes the time suspend/restore code that was done through a PMU notifier in arch/platforms/powermac/time.c. Instead, introduce arch/powerpc/sysdev/timer.c which creates a sys device and handles time of day suspend/resume through that. This should probably be replaced by using the generic RTC framework but for now it gets rid of the arcane powermac specific hack. Signed-off-by: Johannes Berg Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ec5f77e789a02adf7c45f03a76455b4e71ae1c5b Author: Stefan Roese Date: Fri Mar 16 21:06:00 2007 +0100 [POWERPC] ppc: Fix PCIX configuration of Ocotea & Taishan for > 512MB DDR Change the configuration of the PCIX PCI->PLB inbound memory window to be 2GB instead of 512kB. The comment already mentioned 2GB, but the code unfortunately didn't reflect this. Signed-off-by: Stefan Roese Signed-off-by: Paul Mackerras commit f6f7dde3f778b318aca71220834482d4ea2d7738 Author: anton@samba.org Date: Tue Mar 20 20:38:19 2007 -0500 [POWERPC] Use lowercase for hex printouts in oops messages. Use lowercase for hex printouts in oops messages. The number of times I have tried to copy and paste from an oops into an objdump search... Signed-off-by: Anton Blanchard Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit ae7f4463773dafac52d70c9803f283afe27ab1e3 Author: anton@samba.org Date: Tue Mar 20 20:38:14 2007 -0500 [POWERPC] Fix backwards ? : when printing machine type Looks like someone got this backwards, highlighting the perils of the ? : !!! :) Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 34c2a14fc20e4ab878fbf87e5f7fe1cff6afb3d4 Author: anton@samba.org Date: Tue Mar 20 20:38:13 2007 -0500 [POWERPC] Handle recursive oopses Handle recursive oopses, like on x86. We had a few cases recently where we locked up in oops printing and didnt make it into crashdump. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 6031d9d9ad905b514bf45572bd1877fe6b5145ab Author: anton@samba.org Date: Tue Mar 20 20:38:12 2007 -0500 [POWERPC] Clean up pmac_backlight_unblank in oops path Move pmac_backlight_unblank into its own function and only take the pmac_backlight_mutex when we are on a pmac for that added bit of paranoia. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 293e4688fe2fec87fccf84a3b1100b27191424e9 Author: anton@samba.org Date: Tue Mar 20 20:38:11 2007 -0500 [POWERPC] Add missing oops_enter/oops_exit Add missing oops_enter/oops_exit, makes pause_on_oops boot parameter work. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 9333907084da2b05db787dba3e714d0be7c84f36 Merge: 118af32... 21d31f1... Author: David Woodhouse Date: Fri Mar 23 17:31:17 2007 +0000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/misc commit 118af321b24529d546cad1c4b6fccf02cd838384 Author: Robert P. J. Day Date: Fri Mar 23 11:27:01 2007 -0400 [MTD] Delete unused header file linux/mtd/iflash.h. Delete the unreferenced header file include/linux/mtd/iflash.h. Signed-off-by: Robert P. J. Day Signed-off-by: David Woodhouse commit 8e5368a1e230a87220ef0d238584002e4a429ce3 Author: David Woodhouse Date: Fri Mar 23 10:40:04 2007 +0000 [MTD] [NAND] Remember timing settings for CAFÉ NAND controller. We'll need them for suspend/resume. Signed-off-by: David Woodhouse commit 4330f5da98eb91392c7a7b00c22a24c57079c0fc Author: Kumar Gala Date: Fri Mar 16 09:32:17 2007 -0500 [POWERPC] Created arch/powerpc/platforms/Kconfig for "Platform support" Split "Platform support" menu out from arch/powerpc/Kconfig into arch/powerpc/platforms/Kconfig in prep for allowing other sub-arches to be configured via a single "Platform support" menu. Signed-off-by: Kumar Gala commit 35a1245ad09412ffba2f17631a9fb3cae3d5a5ac Author: Kumar Gala Date: Fri Mar 16 09:14:08 2007 -0500 [POWERPC] Split several platforms into their respective Kconfig file Moved pseries, iseries, chrp, prep, maple and pasemi into their respective arch/powerpc/platform/*/Kconfig files out of arch/powerpc/Kconfig Signed-off-by: Kumar Gala commit fd42c717510cd65529ccb46ccfa71fe4dde9fbd9 Author: Kumar Gala Date: Fri Mar 16 08:46:55 2007 -0500 [POWERPC] Removed config options that we don't support in embedded6xx When we started arch/powerpc we duplicated a number of config options from arch/ppc for various platforms that are supported. Now that we actually support a few platforms, remove all the ones that haven't been moved over. Additionally, this cleanup moved the 82xx/PQ2 options over into arch/powerpc/platforms/82xx/Kconfig where they belong. It also killed GEN550 which doesn't exist in arch/powerpc. Signed-off-by: Kumar Gala commit 72e77a1b941e24e67f396246310438afbad9e6b3 Author: Kumar Gala Date: Fri Mar 16 08:13:18 2007 -0500 [POWERPC] Split cell platforms into their respective Kconfig file Cleaning up arch/powerpc/Kconfig platform support. Signed-off-by: Kumar Gala commit 9b8babf4a9cc0ba3a8f00b84419ab44bb4d22e05 Author: Kumar Gala Date: Thu Mar 15 18:15:07 2007 -0500 [POWERPC] Split powermac platforms into their own Kconfig file Cleaning up arch/powerpc/Kconfig platform support. Signed-off-by: Kumar Gala commit 5396132cf90423d988bde340987ba21a27b787d7 Author: Kumar Gala Date: Thu Mar 15 18:13:20 2007 -0500 [POWERPC] Split 52xx platforms into their own Kconfig file Cleaning up arch/powerpc/Kconfig platform support. Signed-off-by: Kumar Gala commit 4002aca771a2aa2848e94a98cf51a2cae4e77ae0 Author: Anton Blanchard Date: Tue Mar 20 10:08:33 2007 -0500 [POWERPC] Remove last_syscall Remove last_syscall from 32bit powerpc, its been gone in 64bit for years. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit f4db196717c615db68100dee2de8f47d2dc19372 Author: Anton Blanchard Date: Tue Mar 20 10:07:12 2007 -0500 [POWERPC] Remove _get_SP We already have an inline __get_SP, no need for yet another one. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 4980d5eb750288ffc0bb9daff3feb947e1bac61e Author: Linas Vepstas Date: Mon Mar 19 15:01:31 2007 -0500 [POWERPC] EEH: restructure multi-function support Rework how multi-function PCI devices are identified and traversed. This fixes a bug with multi-function recovery on Power4 that was introduced by a recent Power4 EEH patch. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit fa1be476a2baa0961f63161caee6733cdc353adb Author: Linas Vepstas Date: Mon Mar 19 14:59:59 2007 -0500 [POWERPC] EEH: verify state change After requesting a state change, verify that the state change actually ocurred, and the system ends up in the expected state. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit d0ab95ca9854174029cef2f08acf1859441cb547 Author: Linas Vepstas Date: Mon Mar 19 14:59:10 2007 -0500 [POWERPC] EEH: rm un-needed data The EEH event notification system passes around data that is not needed or at least, not used properly. Stop passing this data; get it in a more reliable fashion. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 9c547768e7d9f456f1b145102e75f79e30f7b709 Author: Linas Vepstas Date: Mon Mar 19 14:58:07 2007 -0500 [POWERPC] EEH: wait for slot status Modify routine that returns PCI slot status to wait for slot status to become available. This is needed, as slots that are in some remote card cage may go offline for extended periods of time. New users for this routine in following patches. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 90375f53960f2b1e8d2a6af3324d440e3a977bf3 Author: Linas Vepstas Date: Mon Mar 19 14:56:43 2007 -0500 [POWERPC] EEH: handle reset state high Some firmware versions will return a slot reset state of "1" when a slot is EEH frozen. Recognize this as a state that can be handled. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 5794dbcbab862e416c4ea4f10fda5e67f5565fd7 Author: Linas Vepstas Date: Mon Mar 19 14:55:51 2007 -0500 [POWERPC] EEH: multifunction recovery bugfix If the second or higher function of a multi-function device fails to recover, this failure is not reported upwards. Fix this. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 90fdd6130f5c0053c48e8c8e247091739b6e4092 Author: Linas Vepstas Date: Mon Mar 19 14:55:10 2007 -0500 [POWERPC] EEH: hotplug recovery bugfix If a device driver does not have native PCI error recovery, a hotplug error recovery will be attemped. In this case, the device driver will not report back whether its healthy or not; simply assume that it is. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 147d6a37500348b6bda5738453d84c46678209cf Author: Linas Vepstas Date: Mon Mar 19 14:54:21 2007 -0500 [POWERPC] EEH: support ibm,get-config-addr-info2 RTAS call Provide support for the new ibm,get-config-addr-info2 RTAS token, whenever it is actually available. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 2fd30be8dae25386fc5167c34c6d73201334a8d4 Author: Linas Vepstas Date: Mon Mar 19 14:53:22 2007 -0500 [POWERPC] EEH: Tolerate high mmio Some drivers will attempt to perform a lot of mmio even after an EEH event was detected. This is especially the case for fast cpu's and PCI-E slots. Be a bit more lenient in allowing this. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit e0f90b64181d668ce5995a40f312ed21085bfa98 Author: Linas Vepstas Date: Mon Mar 19 14:52:04 2007 -0500 [POWERPC] EEH: Add clarifying messages. There are multiple code patchs tht resuls in a "permanent failure"; when examining rare events, it can be hard to see which was taken. This patch adds printk's to assist. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 39d16e295966a1f0025a65eaab4cb59fe5ba8c17 Author: Linas Vepstas Date: Mon Mar 19 14:51:00 2007 -0500 [POWERPC] EEH: modify order of EEH state checking Change the order in which pci error state is examined; the "capabilites" is not valid if "reset state" is 5. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 439a888885c584f7ac8536a43be80475f9eaed71 Author: Len Brown Date: Thu Mar 22 01:21:05 2007 -0400 ACPI: sbs: remove i2c_ec.[ch] Signed-off-by: Len Brown commit 722062334b972c31a3b83dbf7e9b5a58bb2707dd Author: Vladimir Lebedev Date: Mon Mar 19 17:45:50 2007 +0300 ACPI: sbs: Common interface with CM battery The SBS driver has tne features as CM battery: SBS update_time variable has tne same definition as CM battery 'update_time' variable. Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit 6845118b3b7a9cc2ba14dc665370217bc3ba8057 Author: Vladimir Lebedev Date: Mon Mar 19 17:45:50 2007 +0300 ACPI: sbs: Debug messages correction/improvement Debug messages correction/improvement: Use ACPI_EXCEPTION instead of ACPI_DEBUG_PRINT. Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit 84cb55987236ffea062a35fbe1441768b6bb2722 Author: Vladimir Lebedev Date: Mon Mar 19 17:45:50 2007 +0300 ACPI: sbs: remove I2C Makefile hooks SBS does not depend on I2C. i2c_ec.h and i2c_ec.c are not needed Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit b4150fc4ae20621edf2f8e1ea5ce13eb2c803e7a Author: Vladimir Lebedev Date: Mon Mar 19 17:45:50 2007 +0300 ACPI: sbs: remove I2C Kconfig dependency SBS does not depend on I2C. Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit 6d15702cc07503b74494dc4f1ddb15f354987b14 Author: Vladimir Lebedev Date: Mon Mar 19 17:45:50 2007 +0300 ACPI: sbs: use EC rather than I2C SBS is based on EC function(ec_read/ec_write). Not needed using of I2C structures/functions ... is removed. SBS does not depend on I2C now. Signed-off-by: Vladimir Lebedev Signed-off-by: Len Brown commit 802ae2f05b646c1e5f9e33cfe4c80cfa1452a0e3 Author: Salyzyn, Mark Date: Wed Mar 21 13:49:47 2007 -0400 [SCSI] aacraid: cleanup and version stamp driver There is some residual cleanup of the last series of patches and the need to bump the revision number to draw the line in the sand. The cmd->SCp.phase is set in the aac_valid_context routine, then set again to the same value following it's return. The cmd->scsi_done is set twice in the aac_queuecommand routine. Free up the scsidev FILO in aac_probe_container as it is not needed further down the function in any case. Improve the efficiency of the abort handler kernel print parameters. Bump revision number of driver to approximate the equivalent in the Adaptec supplied version. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 20235f35221472f1a127a5d5414f11091eb0a845 Author: Salyzyn, Mark Date: Wed Mar 21 13:22:56 2007 -0400 [SCSI] aacraid: check buffer address in aac_internal_transfer Captured a panic on an older kernel where an application issuing commands via sg was sending requests that lacked a request_buffer, thus the buffer pointer used in aac_internal_transer was NULL. The application was fixed closing the issue, but felt it was advised to immunize the driver against the eventuality. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 0272bf7271eb6895b081c3df34c3ebe50cb769b7 Author: James Bottomley Date: Tue Mar 20 14:44:04 2007 -0500 [SCSI] fix scsi_wait_scan build problem The #ifdef MODULE around the export of scsi_complete_async_scans() which is the API the scsi_wait_scan module uses is incorrect and causes the symbol to be undefined in certain circumstances leading to a build failure. Remove the defines. Signed-off-by: James Bottomley commit e91948fd84086020072e022d5463036033d449c1 Author: Stephen Rothwell Date: Fri Mar 16 17:47:07 2007 +1100 [POWERPC] Minor paca optimisation Move the slb_shadow_ptr field into the first cache line since it is (like everything there) read-only after boot. It is in fact statically initialised and thereafter only read. Signed-off-by: Stephen Rothwell Acked-by: Michael Neuling Signed-off-by: Paul Mackerras commit 0e6806734fd861c360ecbb4262d3d5678cea7faf Author: Milton Miller Date: Mon Mar 19 14:58:06 2007 -0600 [POWERPC] boot: export flush_cache Move the declaration of flush_cache to ops.h for use by platform code. Signed-off-by: Milton Miller Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 65b580395d234350b53a03285b98c9a271eb5eb7 Author: Milton Miller Date: Mon Mar 19 14:58:04 2007 -0600 [POWERPC] boot: rebuild when wrapper changes Since there is magic defined per platform in the wrapper script, the zImage targets should depend on it. Signed-off-by: Milton Miller Acked-by: David Gibson Acked-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit f61e7cd21b47b07002aa39d2f8f0db14b4a51719 Author: Scott Wood Date: Fri Mar 16 12:28:49 2007 -0500 [POWERPC] bootwrapper: Make setprop accept a const buffer. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit e0a2f28b4dee2a1e4c62dc8389f25defb284e387 Author: Scott Wood Date: Fri Mar 16 12:28:46 2007 -0500 [POWERPC] Document the linux,network-index property. To allow more robust association of each network device node with an index (such as is used by the firmware or an EEPROM to indicate MAC addresses), a network device's node may specify the index explicitly. Signed-off-by: Scott Wood Acked-by: David Gibson david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras commit a9903811bf8d130a26004f9cb27b66513a267908 Author: Scott Wood Date: Fri Mar 16 12:27:59 2007 -0500 [POWERPC] bootwrapper: Make compression of the kernel image optional. The --no-gzip option can be passed to the wrapper so that the kernel image is included uncompressed into the zImage. This is intended for bootloaders where the zImage itself can be compressed, or where boot time is considered more important than kernel image size. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit a07940ba00218267493798e89e3f4a86fea53125 Author: Scott Wood Date: Fri Mar 16 12:27:54 2007 -0500 [POWERPC] bootwrapper: Add dt_ops methods. Add get_parent, create_node, and find_node_by_prop_value to dt_ops. Currently only implemented by flatdevtree_misc. Also, add a _str convenience wrapper for setprop. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit cc5d2c8c64804564617a7be71c73a075a426d1c6 Author: James Bottomley Date: Tue Mar 20 12:26:03 2007 -0500 [SCSI] sd: fix up start/stop messages for new sd_printk() API Signed-off-by: James Bottomley commit c3c94c5a2fb43a654e777f509d5032b0db8ed09f Author: Tejun Heo Date: Wed Mar 21 00:13:59 2007 +0900 [SCSI] sd: implement START/STOP management Implement SBC START/STOP management. sdev->mange_start_stop is added. When it's set to one, sd STOPs the device on suspend and shutdown and STARTs it on resume. sdev->manage_start_stop defaults is in sdev instead of scsi_disk cdev to allow ->slave_config() override the default configuration but is exported under scsi_disk sysfs node as sdev->allow_restart is. When manage_start_stop is zero (the default value), this patch doesn't introduce any behavior change. Signed-off-by: Tejun Heo Rejections fixed and Signed-off-by: James Bottomley commit 3721050afc6cb6ddf6de0f782e2054ebcc225e9b Author: Tejun Heo Date: Wed Mar 21 00:07:18 2007 +0900 [SCSI] sd: fix return value of sd_sync_cache() sd_sync_cache() should return -errno on error, fix it. Signed-off-by: Tejun Heo Signed-off-by: James Bottomley commit ad8c31bb69d60c0c6bc6431bccdf67e5a96c0d31 Author: Eric Moore Date: Mon Mar 19 10:31:51 2007 -0600 [SCSI] fusion: remove VMWare guest OS remounted as read only work around This address the issue of VMWare guest OS being remounted as read-only becuase the underlying device was held busy too long and at the same time address Engenio MPP driver concerns over infinite retries. This patch removes the code that snoops the SAM STATUS on busy, which would be returning DID_BUS_BUSY, instead we return the status as is. Retry hanlding seems to be properly handled in scsi_softirq_done, where a busy sam status would only occurr for the time specified by (cmd->allowed +1) * cmd->timeout_per_command. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit b364fd5081b02fa8a966a29eea2da628913fd4b8 Author: Horms Date: Mon Mar 19 15:06:44 2007 +0900 [SCSI] fusion: honour return value of pci_enable_device() in mpt_resume() Honour the return value of pci_enable_device(), which seems to be a desirable thing to do: 2.6.20-rc4 gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) CC [M] drivers/message/fusion/mptbase.o drivers/message/fusion/mptbase.c: In function `mpt_resume': drivers/message/fusion/mptbase.c:1541: warning: ignoring return value of `pci_enable_device', declared with attribute warn_unused_result It also in turn has mptscsih_resume() honour the return value of mpt_resume() I'm not sure about the handling of the other potential error cases in mpt_resume(), of which there appear to be many. But this does seem to be a good start. Signed-off-by: Simon Horman Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit a1f9ce056a1875b6c8633f370df4fb169b925b16 Author: Horms Date: Fri Mar 16 16:05:22 2007 +0900 [SCSI] fusion: remove unnecessary code in mptscsih_resume() It seems that most of the code in mptscsih_resume() doesn't do anything. This patch removes that code. Signed-off-by: Simon Horman Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit 5f9279f23913045c810eeb4ab03c694c46231f75 Author: Richard Knutsson Date: Sun Mar 18 00:58:23 2007 +0100 [SCSI] eata_pio: Remove FALSE/TRUE defines eata_generic.h is only included by eata_pio.c and it only uses FALSE/TRUE in comments. Signed-off-by: Richard Knutsson Signed-off-by: James Bottomley commit 6c5f8ce1fb7e8925d957f754a9513911399791b9 Author: James Bottomley Date: Fri Mar 16 17:44:41 2007 -0500 [SCSI] expose eh_timed_out to the host template It looks like megaraid_sas at least needs this to throttle its commands as they begin to time out. The code keeps the existing transport template use of eh_timed_out (and allows the transport to override the host if they both have this callback). Signed-off-by: James Bottomley commit 03d4433721880bf1972c924b168e4e1dd3c59d53 Author: Mark Haverkamp Date: Thu Mar 15 10:27:45 2007 -0700 [SCSI] aacraid: Improved error handling Received from Mark Salyzyn, This set of fixes improve error handling stability of the driver. A popular manifestation of the problems is an NULL pointer reference in the interrupt handler when referencing portions of the scsi command context, or in the scsi_done handling when an offlined device is referenced. The aacraid driver currently does not get notification of orphaned command completions due to devices going offline. The driver also fails to handle the commands that are finished by the error handler, and thus can complete again later at the hands of the adapter causing situations of completion of an invalid scsi command context. Test Unit Ready calls abort assuming that the abort was successful, but are not, and thus when the interrupt from the adapter occurs, they reference invalid command contexts. We add in a TIMED_OUT flag to inform the aacraid FIB context that the interrupt service should merely release the driver resources and not complete the command up. We take advantage of this with the abort handler as well for select abortable commands. And we detect and react if a command that can not be aborted is currently still outstanding to the controller when reissued by the retry mechanism. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit f2b1a06ad46209c6e631e3099138d1fa3f14d3a8 Author: Mark Haverkamp Date: Thu Mar 15 10:27:32 2007 -0700 [SCSI] aacraid: fix srb ioctl for 64 bits Received from Mark Salyzyn, The raw srb ioctl is supposed to be able to take packets with 32 and 64 bit virtual address SG elements, it did not handle the frames with 64 bit SG elements well when communicating with 64 bit DMA capable adapters, and it did not handle the 32 bit limited DMA adapters at all. The enclosed patch now handles all four quadrants (32 bit / 64 bit SG elements in SRB requests + 32 bit or 64 bit DMA capable adapters) This fix is required before Java based management applications in a 64 bit user space can submit raw srb requests to the array physical components via the ioctl mechanism, the allocated user memory pool on 64 bit machines under this environment forced the management software's hands to submit 64 bit user space virtual address SG elements in via the ioctl. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit 9e7c349c91db3a9f9ac6cd74a693c4093c7d4571 Author: Mark Haverkamp Date: Thu Mar 15 10:26:55 2007 -0700 [SCSI] aacraid: remove un-needed references to container id (cid) Received from Mark Salyzyn, This little patch removes the ',cid)' container identification argument from some of the functions. The argument is used in some cases as merely a debug helper and thus not used, and in others, the value can be quickly acquired from the scsi command in their single solitary use in the procedure rather than wasting resources on passing the argument in from above. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit 33bb3b296207ff4f9e3b8dddb623e645ee1b8809 Author: Mark Haverkamp Date: Thu Mar 15 10:27:21 2007 -0700 [SCSI] aacraid: Fix ioctl handling when adapter resets Received from Mark Salyzyn, Outstanding ioctl calls still have some problems with aborting cleanly in the face of a reset iop recovery action should the adapter ever enter into a Firmware Assert (BlinkLED) condition. The enclosed patch resolves some uncovered flawed handling. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit fe76df4235986cfacc2d3b71cef7c42bc1a6dd6c Author: Mark Haverkamp Date: Thu Mar 15 12:55:07 2007 -0700 [SCSI] aacraid: Fix blocking issue with container probing function (cast update) Received from Mark Salyzyn, The aac_probe_container call blocks. This is an issue because it is called on occasion in the context of the queuecommand handler. Once in a blue moon this has resulted in a kernel panic sleeping during interrupt; or problems with some embedded system versions of the kernel that depend on queuecommand to not block. This ugly patch rewrites the aac_probe_container call into a new routine _aac_probe_container that is an asynchronous state machine to complete the series of operations. The legacy blocking aac_probe_container call used in other areas of the driver (during initialization scanning for all targets and in the separate hot-add/remove [aacraid] thread) merely issues _aac_probe_container and then simple spins calling schedule() waiting for completion. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit a8166a52968216ae079a5530ac3269147de2ef31 Author: Mark Haverkamp Date: Thu Mar 15 10:26:22 2007 -0700 [SCSI] aacraid: Fix struct element name issue Received from Mark Salyzyn, This patch is to resolve a namespace issue that will result from a patch expected in the future that adds a new interface; rationalized as correcting a long term issue where hw_fib, instead of hw_fib_va, refers to the virtual address space and hw_fib_pa refers to the physical address space. A small fragment of this patch also cleans up an unused variable that was close to the patch fragments. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit 8418852d11f0bbaeebeedd4243560d8fdc85410d Author: Mark Haverkamp Date: Thu Mar 15 10:26:05 2007 -0700 [SCSI] aacraid: add restart adapter platform function Received from Mark Salyzyn, This patch updates the adapter restart function to deal with some adapters that have specific IOP reset needs. Since the code for restarting the adapter was in two places, changed over to utilizing a platform function in one place. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit b22f687dd28a7a8886b918294b4d558ef175c07d Author: Pete Wyckoff Date: Tue Mar 13 16:53:28 2007 -0400 [SCSI] set resid in scsi_io_completion() even for check condition Some targets can return both valid data and sense information. Always update the request data_len from the SCSI command residual. Callers should interpret sense data to determine what parts of the data are valid in case of a CHECK CONDITION status. Signed-off-by: Pete Wyckoff Signed-off-by: James Bottomley commit a52decafbe3fdca5e8430d4f58ffcec1f4a6302c Author: FUJITA Tomonori Date: Tue Mar 13 10:07:15 2007 +0900 [SCSI] tgt: remove the code to build sense tgt notifies a LLD of the failure with sense when it hits the user-space daemon bugs. However, tgt doesn't know anything about SCSI devices that initiators talks to. So it's impossible to send proper sense buffer (format and contents). This patch changes tgt not to notify a LLD of the failure with bogus sense. Instead, tgt just re-queues the failure command to the internal list so that it will be freed cleanly later on when the scsi_host is removed. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c3d2350a8420dbf9d48f5f8a0fb72117bfcbc1b0 Author: James Smart Date: Mon Mar 12 14:16:35 2007 -0500 [SCSI] fc_transport: update potential link speeds This patch updates the FC transport for all speeds identified in SM-HBA. Note: it does not sync the "bit" definitions, as that is actually insulated from user-space via the sysfs text string. (I could do it, but it does introduce a potential binary-incompatibility). Signed-off-by: James Smart Signed-off-by: James Bottomley commit 457620b47a5398e779584fc3c470683fbb3d1c8d Author: Andrew Vasquez Date: Mon Mar 12 10:41:31 2007 -0700 [SCSI] qla2xxx: Update version number to 8.01.07-k6. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 27d940352840bb7a55c351b5b5d6e042fcaf8d47 Author: Andrew Vasquez Date: Mon Mar 12 10:41:30 2007 -0700 [SCSI] qla2xxx: Allow the extended-error-logging flag to be dynamic. The module parameter, ql2xextended_error_logging, can now be set dynamically by writing to the following sysfs entry: /sys/module/qla2xxx/parameters/ql2xextended_error_logging This alleviates the need for the driver to be unloaded and reloaded in order to enable logging. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fecf97882a8f1e9b52627c30322232c18060aa2c Author: Andrew Vasquez Date: Mon Mar 12 10:41:29 2007 -0700 [SCSI] qla2xxx: Drop acquisition of hardware_lock during flash manipulations. There's no need given, I/O has been quiesced, RISC interrupts have been disabled, and finally the RISC has been paused. Flash manipulation on ISP21xx, ISP22xx, and ISP23xx parts requires the RISC to go through a full reset to recover. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 40a2e34a94c336b716f631b2952d233e1ba76e3c Author: Andrew Vasquez Date: Mon Mar 12 10:41:28 2007 -0700 [SCSI] qla2xxx: Add cond_resched() calls during HBA flash manipulation. We're observing soft lockups during HBA FLASH retrieval and update. Add cond_resched() each time around the tight-loops during flash read()s/write()s. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ed6770863945e6695f403c7b951395dab298c392 Author: Andrew Vasquez Date: Mon Mar 12 10:41:27 2007 -0700 [SCSI] qla2xxx: Add scan_[start|finish]() callbacks for ISP24xx HBAs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit b889d531b635da66ce2704a47febfed68173d9db Author: Malahal Naineni Date: Mon Mar 12 10:41:26 2007 -0700 [SCSI] qla2xxx: fix RSCN handling on big-endian systems qla2xxx driver fails to handle RSCN events affecting area or domain due to an endian issue on big endian systems. This fixes the port_id_t structure on big endian systems. Signed-off-by: Malahal Naineni Acked-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 840c2835a1c867281d27158378a9d34f593a7664 Author: James Bottomley Date: Sun Mar 11 14:16:43 2007 -0500 [SCSI] make scsi_wait_scan always modular Currently scsi_wait_scan is only built modular if SCSI is modular. However, it's perfectly possible for a built in SCSI still to have modular drivers and thus need scsi_wait_scan as a module. Therefore, scsi_wait_scan should always be built as a module (unless the kernel doesn't support modules). Signed-off-by: James Bottomley commit 1544d67738c864245b8a061fb72093daeea8d4f1 Author: Randy Dunlap Date: Tue Feb 20 11:17:03 2007 -0800 [SCSI] fusion: kernel-doc warning fixes Fix kernel-doc warnings in fusion driver code. Signed-off-by: Randy Dunlap Acked-by: "Moore, Eric" Signed-off-by: James Bottomley commit e85f008d016d2de59ee5b01dba18ea3dea41545b Author: Robert P. J. Day Date: Thu Mar 8 11:19:39 2007 -0500 [POWERPC] Correct apparently misspelled "XMON" preprocessor symbol. Correct the apparent misspelling of "XMON" to "CONFIG_XMON". Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mackerras commit 7850ad5c39a40ae14ab37e030357e2ae8252af2b Author: David Gibson Date: Wed Mar 14 16:32:17 2007 +1100 [POWERPC] Add documentation for the zImage's gunzip convenience functions This patch adds documenting comments to the gunzip convenience functions added in commit ad9d2716cfc1cda5a7e0d7bc0db45e3af8a4adbb. It also removes a stray newline, and an unused global variable. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 0e0293c898c424c52e5d4e7f6923a203d06b9c4b Author: David Gibson Date: Wed Mar 14 11:50:40 2007 +1100 [POWERPC] Update documentation for flat device tree format v17 This patch updates booting-without-of.txt to describe version 17 of the flattened device tree format. Version 17 is a small, backwards compatible change from version 16, adding an extra field giving the size of the device tree's structure block. At this time, the kernel has no use for the extra information, however its presence can make life easier for bootloaders or other software manipulating the tree. In addition this patch adds information on the size_dt_strings field of the device tree header, present since version 3 of the flattened tree format, but omitted from the documentation. It also makes changes to consistently refer to versions 16 and 17 as versions 16 and 17 in decimal, rather than version 0x10 which was occasionally used for version 16 previously. Finally, we also add the new field to the definition of the device tree header structure in prom.h Signed-off-by: David Gibson Acked-by: Jon Loeliger Signed-off-by: Paul Mackerras commit a782a9e3a12bcea4916117b0832016c24fffeb85 Author: Mariusz Kozlowski Date: Thu Mar 15 23:20:44 2007 +0100 [POWERPC] 8xx parenthesis balance This balances parenthesis in powerpc 8xx header files. Signed-off-by: Mariusz Kozlowski Signed-off-by: Paul Mackerras commit 6bccf755ff53241d46c01c229b3c2452b9029ec4 Author: Joachim Fenkes Date: Fri Mar 9 19:00:32 2007 +0100 [POWERPC] ibmebus: dynamic addition/removal of adapters, some code cleanup This adds two sysfs attributes to /sys/bus/ibmebus which can be used to notify the ebus driver of added / removed ebus devices in the OF device tree. Echoing the device's location code (as found in the OFDT "ibm,loc-code" property) into the "probe" attribute will notify ebus of addition of the device and cause the appropriate device driver's probe function to be called on the device. Likewise, echoing the location code into the "remove" attribute will cause the device to be removed from the system. The writes will block until the respective operation has finished and return an error code if the operation failed. In addition, two minor tidbits are fixed: - The fake root device used to provide a common parent for all ebus devices is now based on device instead of of_device - it had no associated devtree node. This saves several checks throughout the ebus driver. - The sysfs attributes are now generated automagically by device_register() instead of by the ibmebus code, which saves a few compiler warnings about unused return codes. Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit a83088003cd53f3cd8d550ab5d7778866568d204 Author: Joachim Fenkes Date: Fri Mar 9 18:56:46 2007 +0100 [POWERPC] ibmebus: whitespace fixes This fixes a lot of whitespace in ibmebus.[ch] Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit 556b09c8189b9b3f5626ca73196009e397503f85 Author: Mark A. Greer Date: Wed Oct 25 16:36:49 2006 -0700 [POWERPC] 32-bit early_init() should zero from __bss_start to __bss_stop only Currently, early_init() in setup_32.c zeroes from '_bss_start' to '_end'. It should only zero from '__bss_start' to '__bss_stop'. This patch does that. Signed-off-by: Mark A. Greer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6e782584e0713ea89da151333e7fe754c8f40324 Author: Dmitry Torokhov Date: Fri Mar 16 00:59:42 2007 -0400 Input: i8042 - add HP Pavilion DV4017EA to the MUX blacklist This should get rid of "atkbd.c: Suprious NAK on isa0060/serio0" messages caused by broken MUX implementation. The box does not have external PS/2 ports so disabling MUX mode is safe. Signed-off-by: Dmitry Torokhov commit 9575499dfebc0f0fbbf122223f02e9e92630661d Author: Helge Deller Date: Fri Mar 16 00:59:29 2007 -0400 Input: HIL - fix rwlock recursion bug The following bug happens when insmoding hp_sdc_mlc.ko: HP SDC MLC: Registering the System Domain Controller's HIL MLC. BUG: rwlock recursion on CPU#0, hotplug/1814, 00854734 Backtrace: [<10267560>] _raw_write_lock+0x50/0x88 [<10104008>] _write_lock_irqsave+0x14/0x24 [<008537d4>] hp_sdc_mlc_out+0x38/0x25c [hp_sdc_mlc] [<0084ebd8>] hilse_donode+0x308/0x470 [hil_mlc] [<0084ed80>] hil_mlcs_process+0x40/0x6c [hil_mlc] [<10130f80>] tasklet_action+0x78/0xb8 [<10130cec>] __do_softirq+0x60/0xcc [<1010428c>] __lock_text_end+0x38/0x48 [<10108348>] do_cpu_irq_mask+0xf0/0x11c [<1010b068>] intr_return+0x0/0xc Signed-off-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 5a90e5bca96696f1daa0bb0a9db299eb40241ada Author: Rodolfo Giometti Date: Fri Mar 16 00:58:52 2007 -0400 Input: add support for PXA27x keyboard controller Signed-off-by: Rodolfo Giometti Signed-off-by: Dmitry Torokhov commit 867d2682e92a3999e3862f1679cfcb549142d776 Author: Peter Osterlund Date: Fri Mar 16 00:58:37 2007 -0400 Input: sermouse - improve protocol error recovery When using MS protocol the driver should wait for a byte with bit 6 set before assuming that it sees beginning of a data packet. This should allow driver better cope with lost bytes and prevent spurious left/right button events when serial communication is disturbed by a CPU-hungry real-time process. Also fix some formatting. Signed-off-by: Peter Osterlund Signed-off-by: Dmitry Torokhov commit 54f9e36cb83e7da17dc0596d365fe019a25c226f Author: Dmitry Torokhov Date: Fri Mar 16 00:57:25 2007 -0400 Input: simplify input_free_device() Now that sysfs attributes that were marked for deletion can't access their devices we do not need to set name, phys and uniq to NULL. Signed-off-by: Dmitry Torokhov commit 86a1b63349bb2cbed6c2cbf8f9e9de9259a404df Author: Scott Wood Date: Mon Mar 12 14:41:59 2007 -0600 [POWERPC] bootwrapper: Make ft_create_node() pay attention to the parent parameter. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 8941c0c495e8765206ec1017b1e069ce41bf6e8f Author: Scott Wood Date: Mon Mar 12 14:41:58 2007 -0600 [POWERPC] bootwrapper: Add ft_find_node_by_prop_value(). ft_find_node_by_prop_value() finds nodes with the specified property/value pair. Signed-off-by: Scott Wood Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a9ec7669fc07f80f6e39807f1ac319764a304319 Author: Scott Wood Date: Mon Mar 12 14:41:56 2007 -0600 [POWERPC] bootwrapper: Make ft_get_parent() return a phandle, and NULL if already top-level. Most of ft_get_parent() is factored out into __ft_get_parent(), which deals only in internal node pointers. The ft_get_parent() wrapper handles phandle conversion in both directions (previously, ft_get_parent() did not convert its return value). It also now returns NULL as the parent of the toplevel node, rather than just returning the toplevel node again (which made it rather useless in loops). Signed-off-by: Scott Wood Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit c350038b2bdabb07611dcc8116b55f917ada09fa Author: Scott Wood Date: Mon Mar 12 14:41:54 2007 -0600 [POWERPC] bootwrapper: Refactor ft_get_prop() into internal and external functions. The property searching part of ft_get_prop is factored out into an internal __ft_get_prop() which does not deal with phandles and does not copy the property data. ft_get_prop() is then a wrapper that does the phandle translation and copying. Signed-off-by: Scott Wood Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit fc583411617bf8a466c68350697a806704e88fc3 Author: Scott Wood Date: Mon Mar 12 14:41:53 2007 -0600 [POWERPC] bootwrapper: Add ft_find_device_rel(). Add a function to look up a relative, rather than absolute, path name. Signed-off-by: Scott Wood Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit c8e4c77277ca5db0c4ddbfb4bc628b8abad585b0 Author: Marvin Raaijmakers Date: Wed Mar 14 22:50:42 2007 -0400 Input: add getkeycode and setkeycode methods Allow drivers to implement their own get and set keycode methods. This will allow drivers to change their keymaps without allocating huge tables covering entire range of possible scancodes. Signed-off-by: Dmitry Torokhov commit 5adeef52ccc0229e06a6e0b2fefe442d8779f025 Author: Scott Wood Date: Mon Mar 12 14:41:51 2007 -0600 [POWERPC] bootwrapper: Use map_string() instead of lookup_string() in ft_prop(). When adding a property, the property name should be added to the string table if it doesn't already exist. map_string() does that; lookup_string() will fail instead. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 9dd2c31ab89a12571db89648bcc9992cf71b63d8 Author: Scott Wood Date: Mon Mar 12 14:41:48 2007 -0600 [POWERPC] bootwrapper: Modify *pp, not *p, in ft_shuffle(). Move the caller's pointer back to match the change in the region's start, rather than alter a byte of the device tree's content. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 78438b36011d8ef7d28ef63a30b11801be1eea71 Author: Scott Wood Date: Mon Mar 12 14:41:47 2007 -0600 [POWERPC] bootwrapper: Preserve the pp pointer in ft_make_space() when calling ft_reorder(). The ft_reorder() function may change the start of the region of interest, so the pointer provided by the caller into that region must be fixed up to still point to the same datum. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit c8aa72633e65c5c215b0cdd9970642e2a4f9a9a3 Author: Scott Wood Date: Mon Mar 12 14:41:45 2007 -0600 [POWERPC] bootwrapper: Make ft_get_phandle() accept and return NULL. Currently, if ft_get_phandle() is passed NULL it will allocate an entry for it and return a non-NULL phandle. This patch makes it simply pass the NULL through. Signed-off-by: Scott Wood Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 1c53a496ba6132a37f052aa907e23445b3fe928c Author: Scott Wood Date: Mon Mar 12 14:41:44 2007 -0600 [POWERPC] bootwrapper: Rename ft_node_add() to ft_get_phandle(). This name better reflects what the function does, which is to look up the phandle for an internal node pointer, and add it to the internal pointer to phandle table if not found. Signed-off-by: Scott Wood Acked-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 7c71c04625483c1da91846fd6746057d24ad6be8 Author: Scott Wood Date: Mon Mar 12 14:41:42 2007 -0600 [POWERPC] bootwrapper: Add ft_root_node(). Clean up some of the open-coded data structure references by providing a function to return a pointer to the tree's root node. This is only used in high-level functions trying to access the root of the tree, not in low-level code that is actually manipulating the data structure. Signed-off-by: Scott Wood Acked-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit ce3edb30ec2b6350c4258e3d52e73b410e2ea12d Author: Scott Wood Date: Mon Mar 12 14:41:38 2007 -0600 [POWERPC] bootwrapper: Add stddef.h to ops.h ops.h references NULL, so include stddef.h, so files including ops.h don't have to. Signed-off-by: Scott Wood Acked-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit cd197ffcf10bcc1a260efe5c09a3188fd9228c83 Author: David Gibson Date: Mon Mar 5 14:24:52 2007 +1100 [POWERPC] zImage: Cleanup and improve zImage entry point This patch re-organises the way the zImage wrapper code is entered, to allow more flexibility on platforms with unusual entry conditions. After this patch, a platform .o file has two options: 1) It can define a _zimage_start, in which case the platform code gets control from the very beginning of execution. In this case the platform code is responsible for relocating the zImage if necessary, clearing the BSS, performing any platform specific initialization, and finally calling start() to load and enter the kernel. 2) It can define platform_init(). In this case the generic crt0.S handles initial entry, and calls platform_init() before calling start(). The signature of platform_init() is changed, however, to take up to 5 parameters (in r3..r7) as they come from the platform's initial loader, instead of a fixed set of parameters based on OF's usage. When using the generic crt0.S, the platform .o can optionally supply a custom stack to use, using the BSS_STACK() macro. If this is not supplied, the crt0.S will assume that the loader has supplied a usable stack. In either case, the platform code communicates information to the generic code (specifically, a PROM pointer for OF systems, and/or an initrd image address supplied by the bootloader) via a global structure "loader_info". In addition the wrapper script is rearranged to ensure that the platform .o is always linked first. This means that platforms where the zImage entry point is at a fixed address or offset, rather than being encoded in the binary header can be supported using option (1). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 79c8541924a220964f9f2cbed31eaa9fdb042eab Author: David Gibson Date: Mon Mar 5 14:24:52 2007 +1100 [POWERPC] zImage: Cleanup and improve prep_kernel() This patch rewrites prep_kernel() in the zImage wrapper code to be clearer and more flexible. Notable changes: - Handling of the initrd image from prep_kernel() has moved into a new prep_initrd() function. - The address of the initrd image is now added as device tree properties, as the kernel expects. - We only copy a packaged initrd image to a new location if it is in danger of being clobbered when the kernel moves to its final location, instead of always. - By default we decompress the kernel directly to address 0, instead of requiring it to relocate itself. Platforms (such as OF) where doing this could clobber still-live firmware data structures can override the vmlinux_alloc hook to provide an alternate place to decompress the kernel. - We no longer pass lots of information between functions in global variables. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit ad9d2716cfc1cda5a7e0d7bc0db45e3af8a4adbb Author: David Gibson Date: Mon Mar 5 14:24:52 2007 +1100 [POWERPC] zImage: Add more flexible gunzip convenience functions At present, arch/powerpc/boot/main.c includes a gunzip() function which is a convenient wrapper around zlib. However, it doesn't conveniently allow decompressing part of an image to one location, then the remainder to a different address. This patch adds a new set of more flexible convenience wrappers around zlib, moving them to their own file, gunzip_util.c, in the process. These wrappers allow decompressing sections of the compressed image to different locations. In addition, they transparently handle uncompressed data, avoiding special case code to handle uncompressed vmlinux images. The patch also converts main.c to use the new wrappers, using the new flexibility to avoid decompressing the vmlinux's ELF header twice as we did previously. That in turn means we avoid extending our allocations for the vmlinux to allow space for the extra copy of the ELF header. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 8ec555c2c4c6c33759a1dbb13fa8f3b14fc77e10 Author: Corentin Chary Date: Sun Mar 11 10:28:03 2007 +0100 asus-laptop: version bump Version and copyright bump. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 185e5af98b1e09b1e0f859332243223776b2ad57 Author: Corentin Chary Date: Sun Mar 11 10:27:33 2007 +0100 asus-laptop: add wapf param Add the "wapf" param. This param allows to define the behavior of the Fn F2 key (wlan switch). Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit fdd8d08084663242b42e27f7d71739f3f9009286 Author: Corentin Chary Date: Sun Mar 11 10:26:48 2007 +0100 asus-laptop: add GLED Add support for "gaming" led. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 935ffeeca84fe5d48d0cc9f35c58db42b384229f Author: Corentin Chary Date: Sun Mar 11 10:26:12 2007 +0100 asus-laptop: clean write_status Clean the write_status function, and implement special case with a switch inside write_status. It also make sure bt and wl status are right when booting with the hardware switch off. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 9a8168500674b1062afe438d34d0c8216d38dc31 Author: Corentin Chary Date: Sun Mar 11 10:25:38 2007 +0100 asus-laptop: use acpi_evaluate_integer instead of read_acpi_int Use acpi_evaluate_integer() instead of read_acpi_int() Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 56937f7b78d3e495a9f557775f3c3ea1d50ca7b3 Author: James Bottomley Date: Sun Mar 11 12:25:33 2007 -0500 [SCSI] sd: typo fix: sdkp_printk should be sd_printk Signed-off-by: James Bottomley commit 38891cb6b0de3f5986e6a7688c5ae17c18b000a9 Author: Robert P. J. Day Date: Sat Mar 10 17:16:26 2007 -0500 [SCSI] pci2000: Delete unused header file. This driver was removed a while ago by commit 099175c94a221fa2723b7273883c98cd32efe900 However, it seems that pci2000.h wasn't properly eliminated, so remove it now. Signed-off-by: Robert P. J. Day Signed-off-by: James Bottomley commit e8f8248cbadcd8cb1b737fc57a01bccca4fb7aec Author: FUJITA Tomonori Date: Sat Mar 3 09:55:55 2007 +0900 [SCSI] tgt: fix scsi command leak The failure to map user-space pages leads to scsi command leak. It can happens mostly because of user-space daemon bugs (or OOM). This patch makes tgt just notify a LLD of the failure with sense when blk_rq_map_user() fails. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit bc7e380a6a4c94f79a49c36bdb28062a750b3c2b Author: FUJITA Tomonori Date: Sat Mar 3 09:55:54 2007 +0900 [SCSI] tgt: fix sesnse buffer problems This patch simplify the way to notify LLDs of the command completion and addresses the following sense buffer problems: - can't handle both data and sense. - forces user-space to use aligned sense buffer tgt copies sense_data from userspace to cmnd->sense_buffer (if necessary), maps user-space pages (if necessary) and then calls host->transfer_response (host->transfer_data is removed). Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 181011e04a2a32f8d5df212254239ac9a3c8ab5e Author: Mike Christie Date: Sat Mar 3 09:55:54 2007 +0900 [SCSI] tgt: rm bio hacks in scsi tgt scsi tgt breaks up a command into multple scatterlists if we cannot fit all the data in one. This was because the block rq helpers did not support large requests and because we can get a command of any old size so it is hard to preallocate pages for scatterlist large enough (we cannot really preallocate pages with the bio map user path). In 2.6.20, we added large request support to the block layer helper, blk_rq_map_user. And at LSF, we talked about increasing SCSI_MAX_PHYS_SEGMENTS for scsi tgt if we want to support really really :) large (greater than 256 * PAGE_SIZE in the worst mapping case) requests. The only target currently implemented does not even support the multiple scatterlists stuff and only supports smaller requests, so this patch just coverts scsi tgt to use blk_rq_map_user. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 0f238418b6d41cdfc85f2f399848429ff6fbfbd0 Author: Mike Christie Date: Wed Feb 28 17:32:21 2007 -0600 [SCSI] iscsi_tcp: print useful error message when iscsi crc23c allocation fails People do not read the README and seem to like to unselect the crc32c module even though iscsi_tcp selects it for them. This patch spits a error that tells the user that they really do need the module. Hopefully, we will get fewer people asking about this now. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8231f0eddbe425cc3b54f2d723bb03531925272e Author: Mike Christie Date: Wed Feb 28 17:32:20 2007 -0600 [SCSI] iscsi_tcp: increase max_sectors For a while now, the block layer has seperated max sectors and max hw sectors. Software iscsi has no limit so this patch increases max hw sectors, so we can support large pass through commands. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8eb00539d92187ade7e4cc24a1a36ab248ee8639 Author: Mike Christie Date: Wed Feb 28 17:32:19 2007 -0600 [SCSI] libiscsi: use get_unaligned Dave Miller meantioned that the data buffer in a past sense fixup patch was not gauranteed to be aligned properly for ia64. This patch has libiscsi use get_unalinged to make sure. There are a couple more places in the digest handling we may need to do this, but we are in the middle of fixing that code for big endien systems so just the sense access is fixed here. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 41be14442213b6dbeea3cba2ed18a2923666278c Author: Mike Christie Date: Wed Feb 28 17:32:18 2007 -0600 [SCSI] iscsi transport: use atomic for session_nr allocations qla4xxx and iscsi_tcp or iser could be creating sessions at the same time, so make session_nr id allocation atomic. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit bf32ed33e97ac7905fa5a2bf49a634c2eaf62457 Author: Mike Christie Date: Wed Feb 28 17:32:17 2007 -0600 [SCSI] iscsi: rename DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH This patch renames DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH to avoid confusion with the drivers default values (DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH is the iscsi RFC specific default). Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 05db888a46866fd4eae643792c162e1a5c1a8612 Author: Mike Christie Date: Wed Feb 28 17:32:16 2007 -0600 [SCSI] libiscsi: clear mtask Consolidate the mtask clearing code. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 779ea1207b6a43943faa44f41be7311263315604 Author: Mike Christie Date: Wed Feb 28 17:32:15 2007 -0600 [SCSI] libiscsi: flush work before freeing connection It's possible that we call iscsi_xmitworker after iscsi_conn_release which causes a oops. This patch flushes the workqueue. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 62d42a62770dd66da2d3df693e70f4e5fae1716a Author: Martin K. Petersen Date: Wed Feb 28 12:37:06 2007 -0500 [SCSI] constants.c: Update ASC list and make it const Add missing additional sense code and provide pointer to upstream reference (from Doug Gilbert). Add missing const (from Michael Tokarev). Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit fa0d34be06213e02a4df29a9d34ca915728a8434 Author: Martin K. Petersen Date: Tue Feb 27 22:41:19 2007 -0500 [SCSI] sd: convert logging to new printk helpers Convert the sd.c SCSI logging calls to scmd_printk()/sd_printk() instead of plain printk(). Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit e73aec8247032ee730b5f38edf48922c4f72522e Author: Martin K. Petersen Date: Tue Feb 27 22:40:55 2007 -0500 [SCSI] sd: make printing use a common prefix Make SCSI disk printing more consistent: - Define sd_printk(), sd_print_sense_hdr() and sd_print_result() - Move relevant header bits into sd.h - Remove all the legacy disk_name passing and use scsi_disk pointers where possible - Switch printk() lines to the new sd_ functions so that output is consistent Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit a4d04a4cd9881e89fdc62107b6b57053438f2b30 Author: Martin K. Petersen Date: Tue Feb 27 22:40:27 2007 -0500 [SCSI] Make error printing more verbose This patch enhances SCSI error printing by: - Making use of scsi_print_result() in the completion functions. - Having scmd_printk() output the disk name (when applicable). Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 684b7fe976554d12e6266d7280c87a0f3feff02e Author: Martin K. Petersen Date: Tue Feb 27 22:39:44 2007 -0500 [SCSI] constants.c: cleanup, verbose result printing Clean up constants.c and make result printing more user friendly: - Refactor the command and sense functions so that the actual formatting can be called from the various helper functions with the correct prefix. - Replace scsi_print_hostbyte() and scsi_print_driverbyte() with scsi_print_result() which is verbose when CONFIG_SCSI_CONSTANTS is on. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 862794fa3fd4c8a44ee22582418736c93e0d3c3a Author: Heiko Carstens Date: Wed Feb 21 09:28:00 2007 +0100 [SCSI] zfcp: fix likely/unlikely usage zfcp_fsf_protstatus_eval() takes always the 'wrong' branch. Likely Profiling Results --------------------------------------------------------- [+- ] Type | # True | # False | Function:Filename@Line +unlikely | 11042| 0 zfcp_fsf_protstatus_eval() Acked-by: Swen Schillig Signed-off-by: Heiko Carstens Signed-off-by: James Bottomley commit 3a6effe81fa0bd2fb9c6c5ecde665492536733e3 Author: Robert P. J. Day Date: Sat Mar 10 03:57:25 2007 -0500 [JFFS2] Remove superfluous source file fs/jffs2/comprtest.c Delete the obsolete source file fs/jffs2/comprtest.c. Signed-off-by: Robert P. J. Day Signed-off-by: David Woodhouse commit 55e3d9224b60df0fd2dc36bff9b538ce40fd9586 Author: Andres Salomon Date: Sat Mar 10 01:39:54 2007 -0500 Input: psmouse - allow disabing certain protocol extensions Allow ALPS, LOGIPS2PP, LIFEBOOK, TRACKPOINT and TOUCHKIT protocol extensions of psmouse to be disabled during compilation. This will allow users save some memory when they are sure that they will only use a certain type of mice. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 9fd9f8e8bdcfc9aa309dae5bccc55d02804337d0 Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: Block queries until EC is fully initialized Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 01f2246269639f6aa93086719a8dbec26cb68e98 Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: Cleanup of EC initialization Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d033879c9838b960014e861d0eb3bdf11d3b9d9d Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: first_ec is better to be acpi_ec than acpi_device. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d66d969df88c742494736ed06eeaf3229d3a7259 Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: Rename ec_ecdt to more informative boot_ec Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c0900c3512dc8fd0b37f8fbcebc7853ed9efff10 Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: Clean ECDT and namespace parsing. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e8284321048aac7be307b3ec5e0631f5c514935a Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: Put install handlers into separate function. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 3d02b90be2c7bc7ffbc5e502a135c13838d23ef4 Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: Remove casts to/from void* from ec.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c45aac43fec2d6ca8d0be8408f94e8176c8110ef Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: enable burst functionality in EC. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 33c7a0738c5f753a7d94fd3b2ec7d84e79a141a8 Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: "Fake ECDT" workaround is not needed any longer. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 33d20b6100d05a0b14883e7dc8ab41e4531fcf59 Author: Alexey Starikovskiy Date: Wed Mar 7 22:28:00 2007 +0300 ACPI: EC: Make EC to initialize first in ACPI Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit a5f8dee2d367e69fd57f5ea107072bb72eb15327 Author: Alexey Starikovskiy Date: Wed Mar 7 22:27:59 2007 +0300 ACPI: EC: Don't use Global Lock if not asked to do so Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit ac122bb64b0d51f0512185d3522a75f3f3a80bc9 Author: Ilya A. Volynets-Evenbakh Date: Mon Feb 19 15:19:31 2007 -0800 ACPI: dock: add access to ACPI docking station UID It is useful to know whether your laptop is docked or not, but it is even more useful to know which docking station it's docked to. Attached patch adds "uid" file to sysfs. Tested on Dell Latitude D600 with D/Dock. Patch is against official 2.6.20 release. Signed-off-by: Len Brown commit cfbff8a3802542c4d8b2290c49b1a59128c4a380 Author: Jake Moilanen Date: Tue Oct 3 14:29:34 2006 -0500 [POWERPC] 750CL cputable entry 750CL cputable entry from Steve Winiecki. Signed-off-by: Jake Moilanen Signed-off-by: Paul Mackerras commit 6406063899cc6f558df1e751d46de2e3c45c2189 Author: Zang Roy-r61911 Date: Tue Mar 6 14:10:36 2007 +0800 [POWERPC] Remove fixed setting of ROOT_DEV for 7448HPC2 platforms Remove fixed setting of ROOT_DEV for 7448HPC2 platforms. Signed-off-by: Roy Zang Signed-off-by: Paul Mackerras commit 36241ce695f16193d0f76ea010f212119da37071 Author: Stephen Rothwell Date: Sun Mar 4 17:07:38 2007 +1100 [POWERPC] Make find_and_init_pbs() a void function It always returned 0 and noone checked. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0a7c7efccc08f00ae6fc8e1f2de0ee61f07357fd Author: Stephen Rothwell Date: Sun Mar 4 17:05:34 2007 +1100 [POWERPC] Allow xmon to build without CONFIG_DEBUG_BUGVERBOSE Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bed59275810a55500e885cbdc5c2a0507f13c00e Author: Stephen Rothwell Date: Sun Mar 4 17:04:44 2007 +1100 [POWERPC] Allow pSeries to build without CONFIG_PCI Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit be9e95b17e150c7b6933cb2f1e1c46a501976080 Author: Stephen Rothwell Date: Sun Mar 4 17:03:48 2007 +1100 [POWERPC] Make iSeries build without CONFIG_PCI Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 57190708f1f52d732d94fa21a8e576302d384d33 Author: Stephen Rothwell Date: Sun Mar 4 17:02:41 2007 +1100 [POWERPC] Create and use get_pci_dma_ops() This allows us to hide pci_dma_ops. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9874777016e06ad2df420237963e81389776cb6d Author: Stephen Rothwell Date: Sun Mar 4 16:58:39 2007 +1100 [POWERPC] Create and use set_pci_dma_ops This will allow us to build without PCI easier. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 618d3adc351a24c4c48437c767befb88ca2d199d Author: Jake Moilanen Date: Fri Mar 2 15:49:43 2007 -0600 [POWERPC] DMA 4GB boundary protection There are many adapters which can not handle DMAing acrosss any 4 GB boundary. For instance the latest Emulex adapters. This normally is not an issue as firmware gives us dma-windows under 4gigs. However, some of the new System-P boxes have dma-windows above 4gigs, and this present a problem. I propose fixing it in the IOMMU allocation instead of making each driver protect against it as it is more efficient, and won't require changing every driver which has not considered this issue. This patch checks to see if the mapping spans a 4 gig boundary, and if it does, retries the allocation. It tries the next allocation at the start of the crossed 4 gig boundary. Signed-off-by: Jake Moilanen Signed-off-by: Paul Mackerras commit 723ec731de880a76a004a304b62bf8d0f96435d8 Author: Dave Jiang Date: Fri Mar 2 13:36:21 2007 -0700 [POWERPC] EDAC ECC software scrubber Implements the per arch atomic_scrub() that EDAC uses for software ECC scrubbing. It reads memory and then writes back the original value, allowing the hardware to detect and correct memory errors. Signed-off-by: Dave Jiang Signed-off-by: Paul Mackerras commit 27565903e94d548256bf5923653ab2a9668c9b9f Author: Stuart Yoder Date: Fri Mar 2 13:42:33 2007 -0600 [POWERPC] Update interrupt info in booting-without-of.txt Create a new section descrbing how interrupts are represented in the device tree. Added more detail. Clarified some things. Signed-off-by: Stuart Yoder Signed-off-by: Paul Mackerras commit 500798d48fdcffbbc7f619bd3e6b5b5cea6869d1 Author: Stuart Yoder Date: Tue Feb 27 10:14:14 2007 -0600 [POWERPC] Remove unused, undocumented #cpus property from cpus node The #cpus property is unused and undocumented and is therefore being removed. Signed-off-by: Stuart Yoder Acked-by: David Gibson Signed-off-by: Paul Mackerras commit fdc0a9be3a63a71c12de86cc97d4cd8cf46239c0 Author: MOKUNO Masakazu Date: Mon Feb 26 17:21:05 2007 +0900 [POWERPC] Remove some redundant isync instructions Remove some redundant isync instructions. enable_64b_mode() already does an isync, so there is no need to do it again. Signed-off-by: MOKUNO, Masakazu Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit dbc11f539df7c9a32424b78afb0314c68d5e7d0b Author: Olaf Hering Date: Sun Feb 25 20:04:18 2007 +0100 [POWERPC] Include stddef.h in asm-powerpc/current.h to get offsetof On Tue, Oct 31, Hugh Dickins wrote: > +++ linux/include/asm-powerpc/current.h 2006-10-30 19:27:05.000000000 +0000 > +static inline struct task_struct *get_current(void) > +{ > + struct task_struct *task; > + > + __asm__ __volatile__("ld %0,%1(13)" > + : "=r" (task) > + : "i" (offsetof(struct paca_struct, __current))); This breaks compile of 2.6.18.8: CC [M] drivers/media/video/pwc/pwc-uncompress.o In file included from /home/olaf/kernel/linux-2.6.18.8/drivers/media/video/pwc/pwc-uncompress.c:29: include2/asm/current.h: In function 'get_current': include2/asm/current.h:23: warning: implicit declaration of function 'offsetof' include2/asm/current.h:23: error: expected expression before 'struct' make[5]: *** [drivers/media/video/pwc/pwc-uncompress.o] Error 1 Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 1c56f838a9d0b25d68363bca133722c5330707b3 Author: Stephen Rothwell Date: Fri Feb 23 14:41:41 2007 +1100 [POWERPC] Make ppc64_defconfig without CONFIG_PPC_PSERIES build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 44d7631bdb16211a492921dbc0d14fce66c20501 Author: Segher Boessenkool Date: Thu Feb 22 23:52:02 2007 +0100 [POWERPC] PowerPC: select default image for Linkstation Signed-off-by: Segher Boessenkool Acked-by: G. Liakhovetski Signed-off-by: Paul Mackerras commit 8170f524894b17a3f36351fe0e1a3fb6aca733ee Author: Geert Uytterhoeven Date: Thu Feb 22 16:43:12 2007 +0100 [POWERPC] ps3: always make sure we're running on a PS3 Add missing checks to PS3 specific drivers ps3av and sys-manager to verify that we are actually running on a PS3 (pointed out by Arnd). Correct existing checks in other subsystems/drivers to return -ENODEV instead of zero. Signed-off-by: Geert Uytterhoeven Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 02567c6cdad4d6254052f25f3b93aa2771f48d25 Author: Stephen Rothwell Date: Wed Feb 21 14:53:50 2007 +1100 [POWERPC] Allocate syscall number for sys_getcpu I forgot to do this when wiring up the syscall. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 30437b3e743f33e9b68f813ca24e547aa9fcf7d7 Author: David Gibson Date: Wed Feb 28 14:12:29 2007 +1100 [POWERPC] Automatically lmb_reserve() initrd At present, when an initrd is passed to the kernel used flat device tree properties, the memory the initrd occupies must also be reserved in the flat tree's reserve map, or the kernel may overwrite it. That makes life more complicated than it could be for the bootwrapper. This patch makes the kernel automatically reserve the initrd's space. That in turn requires parsing the initrd parameters earlier than they are currently, in early_init_dt_scan_chosen() instead of check_for_initrd(). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit eb6de2863750e696201780283e4c9ada19b4728e Author: David Gibson Date: Wed Feb 28 14:12:29 2007 +1100 [POWERPC] Allow duplicate lmb_reserve() calls At present calling lmb_reserve() (and hence lmb_add_region()) twice for exactly the same memory region will cause strange behaviour. This makes life difficult when booting from a flat device tree with memory reserve map. Which regions are automatically reserved by the kernel has changed over time, so it's quite possible a newer kernel could attempt to auto-reserve a region which is also explicitly listed in the device tree's reserve map, leading to trouble. This patch avoids the problem by making lmb_reserve() ignore a call to reserve a previously reserved region. It also removes a now redundant test designed to avoid one specific case of the problem noted above. At present, this patch deals only with duplicate reservations of an identical region. Attempting to reserve two different, but overlapping regions will still cause problems. I might post another patch later dealing with this case, but I'm avoiding it now since it is substantially more complicated to deal with, less likely to occur and more likely to indicate a genuine bug elsewhere if it does occur. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 83ddcf5d364be7b1d8c214d2dd97753e1df589cd Author: Adrian Bunk Date: Tue Feb 20 01:08:12 2007 +0100 [POWERPC] Unexport mac_hid_mouse_emulate_buttons This patch removes the unused EXPORT_SYMBOL(mac_hid_mouse_emulate_buttons). Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit d1bff9ed3c05859fe4a8d00e51f331f5d45350ed Author: Stuart Yoder Date: Mon Feb 19 11:25:05 2007 -0600 [POWERPC] Remove interrupt-controller as a property under /chosen Remove interrupt-controller as a valid property under /chosen in the documentation. There is a consensus that an interrupt-controller property does not belong under /chosen. /chosen is specifically for dynamic properties set at runtime. Signed-off-by: Stuart Yoder Signed-off-by: Paul Mackerras commit bb72c481e970dc1b4034ddccbe8302ff39e0d948 Author: Paul Mackerras Date: Mon Feb 19 11:42:42 2007 +1100 [POWERPC] Harden validate_sp against stack corruption If something has overflowed or corrupted the stack and causes an oops, and we try to print a stack trace, that will call validate_sp, which can itself cause an oops if the cpu field of the thread_info struct at the bottom of the stack has been corrupted (if CONFIG_IRQSTACKS is set). This makes debugging harder. To avoid the second oops, this adds a check to make sure that the cpu number is reasonable before using it to check whether the stack is on the softirq or hardirq stack. Signed-off-by: Paul Mackerras commit 99ddef9bfe714c3273e3fce4c6b6a2a99e7d0bf8 Author: Andrew Morton Date: Sat Feb 17 18:17:16 2007 -0700 [POWERPC] Fix compile error in prom.h In file included from include/asm/pci.h:20, from include/linux/pci.h:751, from arch/powerpc/sysdev/dart_iommu.c:36: include/asm/prom.h: In function `of_irq_to_resource': include/asm/prom.h:341: warning: implicit declaration of function `irq_of_parse_and_map' include/asm/prom.h:345: error: `NO_IRQ' undeclared (first use in this function) include/asm/prom.h:345: error: (Each undeclared identifier is reported only once include/asm/prom.h:345: error: for each function it appears in.) Seems that prom.h has always wanted irq.h. Cc: Mathieu Desnoyers Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit cb9def4dff9fe7e3d3114eba4e2d89f52265e22c Author: Dmitry Torokhov Date: Wed Mar 7 23:20:26 2007 -0500 Input: let driver core create class device attribute groups Rely on device core to create attribute groups for input devices instead of open-coding it. Signed-off-by: Dmitry Torokhov commit 15e03ae811475c2beebfde18717935ee9ce64617 Author: Dmitry Torokhov Date: Wed Mar 7 23:20:17 2007 -0500 Input: export 'uniq' in /proc/bus/input/devices Signed-off-by: Dmitry Torokhov commit bc413c9563db6d596e841b2756ed3fccc48de5c0 Author: Eric Piel Date: Wed Mar 7 01:45:16 2007 -0500 Input: wistron - add support for TravelMate 610 Add support for Acer TravelMate 610 to wistron_btns. All special keys are detected, but the 2 leds are not handled (yet). Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 243db53bbd8503065b21fd6e8265387048eb569b Author: Dmitry Torokhov Date: Wed Mar 7 01:44:59 2007 -0500 Input: psmouse - do not force stream mode Forcing stream mode after reset confuses some devices (reported by Andrea Arcangeli) so let's take it out - spec says that after reset mouse should already be in stream mode. Signed-off-by: Dmitry Torokhov commit ffd51f46cdf856c0b453d2828a74d552cc15f881 Author: Helge Deller Date: Wed Feb 28 23:51:29 2007 -0500 Input: HIL - cleanup coding style Signed-off-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 3acaf540a33199141695f2e2fcfa8829053159bf Author: Helge Deller Date: Wed Feb 28 23:51:19 2007 -0500 Input: HIL - various fixes for HIL drivers - mark some structures const or __read_mostly - hilkbd.c: fix uninitialized spinlock in HIL keyboard driver - hil_mlc.c: use USEC_PER_SEC instead of 1000000 - hp_sdc: bugfix for request_irq()/free_irq() parameters, this prevented multiple load/unload cycles as module Signed-off-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 969111e900226a8dbd1f596f34c09eecd20afc7d Author: Nicolas Ferre Date: Wed Feb 28 23:51:03 2007 -0500 Input: ads7846 - add support for the ads7843 touchscreen The ads7843 support has now become almost trivial since the last rework. Signed-off-by: Nicolas Ferre Acked-by: David Brownell Signed-off-by: Dmitry Torokhov commit 21d31f1f7c8f832324fb55eb4b1397b16258904e Author: Joern Engel Date: Tue Feb 20 20:22:22 2007 +0100 [PATCH] [MTD] block2mtd: remove readahead code Over the years there was a slow trickle of complaints against the readahead code. Most of them concerned performance, Peter Zijlstra stumbled over it when working unrelated changes and I believe there was an actual bug report. Oh, Andrew Morton also complained about duplicating code from mm/readahead.c. It is just not worth it. On flash media like usb sticks, readahead will make things go slow - very slow. On spinning disks, readahead may be a win, but this is definitely not the place to add it. Signed-off-by: Jörn Engel commit 8870530a4053add56a2c0eb90a3669facb9f7117 Author: Joern Engel Date: Tue Feb 20 20:21:41 2007 +0100 [PATCH] [MTD] block2mtd: remove warning drivers/mtd/devices/block2mtd.c:311:9: warning: symbol 'dev' shadows an earlier one drivers/mtd/devices/block2mtd.c:294:23: originally declared here Signed-off-by: Jörn Engel commit 0ffb74ccc06a112042adfaf8229684b78202bcae Author: Joern Engel Date: Tue Feb 20 20:20:58 2007 +0100 [PATCH] [MTD] block2mtd: remove casts Remove two casts - they were not only pointless, but outright harmful. Spotted by Felix Fietkau Signed-off-by: Jörn Engel commit bebb8a2bc180a4c920c57e89b2d713a34c1d096c Author: Yoichi Yuasa Date: Sun Feb 18 01:50:18 2007 -0500 Input: add driver for MIPS Cobalt back panel buttons Tested on Cobalt Qube2. Signed-off-by: Yoichi Yuasa Signed-off-by: Dmitry Torokhov commit 24bf10ab2d72863a14187905fd992ca8119c809e Author: Stefan Lucke Date: Sun Feb 18 01:49:10 2007 -0500 Input: psmouse - add support for eGalax PS/2 touchscreen controller Based on the touchkit USB and lifebook PS/2 touchscreen driver. The egalax touchsreen controller (PS/2 or USB version) is used in this 7" device: http://www.cartft.com/catalog/il/449 Signed-off-by: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov